[英]SQL SUM only when each value within a group is greater than 0
這是一個示例數據集:
ID Value
1 421
1 532
1 642
2 3413
2 0
2 5323
我想要一個查詢,在這種情況下,由於所有值都大於0,因此只求和ID = 1。我不能使用WHERE
語句表示WHERE Value > 0
因為那時ID = 2仍會返回值。 我覺得這可能是我可以使用OVER(PARTITION BY...)
語句的一個實例,但是我對創建它的用途並不熟悉。
順便說一句,我不只是添加WHERE ID = 1
語句,因為這需要覆蓋更大的數據集。
只需使用having
:
select id, sum(value)
from t
group by id
having min(value) > 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.