Sql 如何获得列在同一行上的分组总和?
我有下面的模型数据Sql 如何获得列在同一行上的分组总和?,sql,oracle,analytics,Sql,Oracle,Analytics,我有下面的模型数据 itemNum itemName type count ------------------------------------------------- 1111 A001 1 2 1111 A001 1 4 1111 A001 3 2 1111 A001
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;
只需使用条件聚合:
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
:
干杯