SQL> select decode(grouping_id(region, no, name,memo), 0, no, 7, '小计', 15, '总计') no,
2 decode(grouping_id(region, no, name,memo), 7, nvl(region,'未知行业'), 15, '所有行业', na
me) name,
3 sum(content),
4 memo
5 from t
6 group by rollup(region, no, name,memo)
7 having grouping_id(region, no, name,memo) in (0, 7, 15);NO NAME SUM(CONTENT) MEMO
---- -------------------- ------------ --------------------
007 钢铁1 10 g
008 20 h
小计 未知行业 30
001 电子公司1 11 a
002 电子公司2 22 b
005 电厂3 55 e
小计 电子 88
003 化工厂1 33 c
004 化工厂2 44 d
006 化工厂3 66 f
小计 化工 143NO NAME SUM(CONTENT) MEMO
---- -------------------- ------------ --------------------
总计 所有行业 261已选择12行。
2 decode(grouping_id(region, no, name,memo), 7, nvl(region,'未知行业'), 15, '所有行业', na
me) name,
3 sum(content),
4 memo
5 from t
6 group by rollup(region, no, name,memo)
7 having grouping_id(region, no, name,memo) in (0, 7, 15);NO NAME SUM(CONTENT) MEMO
---- -------------------- ------------ --------------------
007 钢铁1 10 g
008 20 h
小计 未知行业 30
001 电子公司1 11 a
002 电子公司2 22 b
005 电厂3 55 e
小计 电子 88
003 化工厂1 33 c
004 化工厂2 44 d
006 化工厂3 66 f
小计 化工 143NO NAME SUM(CONTENT) MEMO
---- -------------------- ------------ --------------------
总计 所有行业 261已选择12行。
有没有办法能显示成如下格式呢?
NO NAME SUM(CONTENT) MEMO
---- -------------------- ------------ --------------------
1 007 钢铁1 77 g
2 008 88 h
小计 未知行业 165
1 001 电厂1 11 a
2 002 电厂2 22 b
3 005 电厂3 55 e
小计 电子 88
1 003 化工厂1 33 c
2 004 化工厂2 44 d
3 006 化工厂3 66 f
小计 化工 143
总计 所有行业 396就是在显示的结果的时候在前面加上一列
ids,
2 no,
3 decode(grouping_id(region, ids, no, name,memo), 15, nvl(region,'未知行业'), 31, '所有行
业', name) name,
4 sum(content),
5 memo
6 from (select t.*,row_number() over(partition by region order by no) ids from t)
7 group by rollup(region, ids, no, name,memo)
8 having grouping_id(region, ids, no, name,memo) in (0, 15, 31); IDS NO NAME SUM(CONTENT) MEMO
-------------------- --- -------------------- ------------ --------------------
1 007 钢铁1 10 g
2 008 20 h
小计 未知行业 30
1 001 电子公司1 11 a
2 002 电子公司2 22 b
3 005 电厂3 55 e
小计 电子 88
1 003 化工厂1 33 c
2 004 化工厂2 44 d
3 006 化工厂3 66 f
小计 化工 143
总计 所有行业 261已选择12行。