这是一个示例数据集:
ID Value
1 421
1 532
1 642
2 3413
2 0
2 5323
在这种情况下,我希望查询仅对ID = 1求和,因为它的所有值都大于0。我不能使用说WHERE
的{{1}}语句,因为那样ID = 2仍会返回一个值。我觉得这可能是一个我可以使用WHERE Value > 0
语句的实例,但是我还不足够创造性地使用它。
顺便说一句,我不会简单地添加一个OVER(PARTITION BY...)
语句,因为这需要覆盖更大的数据集。
答案 0 :(得分:6)
只需使用having
:
select id, sum(value)
from t
group by id
having min(value) > 0;