oracle sql 表的
在在做表 需要出的格式
id number name
1 10 i
2 20 i
3 30 i
'' 60 '小'
4 10 j
5 20 j
6 30 j
'' 60 '小'
'' 120 '合'
在做的方式是
select * from AA
union all
select '', sum(number),'小' from AA group by name
union all
select '',sum(number),'合' from AA
由於AA是一的查 用我方式的需要重3次 造成需要些大量的代
有什麽其他的法 代可以短些
[解决办法]
- SQL code
SELECT * FROM AAUNION ALLselect '' ID,SUM(NUMBER),NAME from aaGROUP BY CUBE(NAME)
[解决办法]
rollup
[解决办法]
- SQL code
With t As ( select 1 Id,10 numb, 'i' Name From dual Union All select 2 Id,20 numb, 'i' Name From dual Union All select 3 Id,30 numb, 'i' Name From dual Union All select 4 Id,10 numb, 'j' Name From dual Union All select 5 Id,20 numb, 'j' Name From dual Union All select 6 Id,30 numb, 'j' Name From dual)SELECT id, SUM(numb) numb, decode(grouping_id(id, NAME), 3, '合计', 2, '小', NAME) NAME FROM t GROUP BY ROLLUP(NAME, Id)