[英]How to get grouped sums listed on the same row?
我有以下模拟数据,
itemNum itemName type count
-------------------------------------------------
1111 A001 1 2
1111 A001 1 4
1111 A001 3 2
1111 A001 3 5
1111 A001 3 3
1111 A001 3 6
2222 A002 1 3
2222 A002 1 5
2222 A002 2 4
2222 A002 2 7
2222 A002 3 8
2222 A002 3 9
我需要在同一行中列出的每种类型的一项的总和,(只有 3 种类型,因此将有三列 sum1、sum2、sum3。)我需要的结果是,
itemNum itemName sum1 sum2 sum3
--------------------------------------------------
1111 A001 6 7 9
2222 A002 8 11 17
我如何编写oracle sql 脚本? 谢谢。
只需使用条件聚合:
select itemnum, itemname,
sum(case when type = 1 then count end) as sum_1,
sum(case when type = 2 then count end) as sum_2,
sum(case when type = 3 then count end) as sum_4
from t
group by itemnum, itemname;
您可以使用pivot
如下:
Select * from (Select * from your_table) Pivot ( Sum(count) for type in (1 as sum_1, 2 as sum_2, 3 as sum_3) )
干杯!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.