簡體   English   中英

僅當組內的每個值都大於0時,SQL SUM

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM