17,090
社区成员
发帖
与我相关
我的任务
分享
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)
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), (case when id Is null and name Is Not null then '小記'
When id is Null and Name Is Null Then '合計' else Name End) Name From t
Group By Rollup(Name,Id)
SELECT * FROM AA
UNION ALL
select '' ID,SUM(NUMBER),NAME from aa
GROUP BY CUBE(NAME)