特别小组由&SUM
问题描述:
我有具有以下字段的表: ID, S, W
和数据一样:特别小组由&SUM
1,s1,w1
1,s2,w1
1,s3,w2
2,s4,w2
我想计算S的SUM每个ID只对W = w1和零作为结果对于没有任何w1数据的其他ID。在这个例子中我得
1, s1+s2, w1
2, 0, null or 0
这意味着,如果ID有W1只显示这一些,但如果ID = 2只有W的W1显示不同它。 我试过
SUM(CASE W = w1 THEN S ELSE 0 END) AS S GROUP BY ID, W
但是不要怎么显示W?我希望我清楚的是UDF的一部分,其中涉及很多其他表格。任何帮助将不胜感激。
答
请问以下为您工作?
Select id, SUM(CASE W = w1 THEN S ELSE 0 END) over(Partition by id order by 1) total, W from yourtable
答
能“T优有第二个Case语句类似情况下,当W = W1则W ELSE 0 END为W
+0
它不会删除1,0 W2。如果我添加当W = W1我松2,0 – 2013-04-11 18:03:38
答
如果我理解正确的,你想:??
SELECT ID,
SUM(CASE WHEN W = 'w1' THEN S ELSE 0 END) AS S,
CASE WHEN W = 'w1' THEN W ELSE 0 END AS W
FROM YourTable
GROUP BY ID,
CASE WHEN W = 'w1' THEN W ELSE 0 END
我应该怎样做分区,以摆脱掉1,S3?我如果我可以申请我的真实证件,认为你的解决方案应该有效颂。谢谢你的帮助 – 2013-04-11 18:08:23