周围组工作 - SQL服务器
问题描述:
鉴于此输出到一个查询:周围组工作 - SQL服务器
ID | Question | Answer
1 | 1 | 2
1 | 2 | 5
1 | 3 | 5
2 | 1 | 2
2 | 2 | 2
3 | 4 | 7
是否有SQL任何方式碰到这样的:
ID | Question | Answer
1
| 1 | 2
| 2 | 5
| 3 | 5
2
| 1 | 2
| 2 | 2
3
| 4 | 7
的目标是不超过重复ID并结束,但我没有任何东西可以分组,因为我想单独显示所有结果。
我已尝试解决GROUP BY,但目前为止没有太多结果。 我正在使用SQL Server。
答
您需要为标题
- 插入额外的行从细节行
- 确保顺序是正确删除ID,所以正确的标题是在右侧的详细信息。
例子:
select
-- Show the ID only if it is not a detail row
case when Question is null then ID else null end as ID,
Question,
Answer
From
(
-- Detail rows
select ID, Question, Answer from T1
union all
-- Heading rows
select distinct ID, cast(null as type) as Question, cast(null as type) as Answer from T1
)x
order by
-- In order of ID
x.ID,
-- but make heading rows come first
case when x.Question is null then 0 else 1 end asc,
-- then order by question
x.Question
答
这不是一个SQL问题
这是客户端代码演示问题
例,在Reporting Services或水晶报表,你” d设置分组ID
这通常在应用程序级完成,而不是在数据中完成基础。数据库擅长处理行。你想要一些特殊的行,比如标题,并且具有不同的大小。 – 2012-02-02 13:24:10