问题出处:http://topic.csdn.net/u/20091209/16/7d3f1e7a-93bd-4515-893a-07046cdfaea8.html?90269
表T select * from T 结果如下
col1 col2
1 3
1 1
2 7
2 4
2 1
3 4
3 3
希望可以通过一句sql实现针对col1分组显示明细信息后显示合计信息,如下:
col1 col2
1 3
1 1
'小计' 4
2 7
2 4
2 1
'小计' 12
3 4
3 3
'小计' 7
可以实现吗?谢谢
- SELECT CASE
- WHEN GROUPING(T.COL2) = 1 THEN
- '小计'
- ELSE
- to_char(T.COL2)
- END AS COL1,
- SUM(T.COL2) AS SUM_COL2
- FROM T T
- GROUP BY T.COL1,ROLLUP(T.COL2)
- ORDER BY T.COL1