0

这是一个示例数据集:

ID   Value
1   421
1   532
1   642
2   3413
2   0
2   5323

我想要一个查询,在这种情况下,只求和 ID=1,因为它的所有值都大于 0。我不能使用这样的WHERE语句,WHERE Value > 0因为 ID=2 仍然会返回一个值。我觉得这可能是我可以使用OVER(PARTITION BY...)语句的一个例子,但我不够熟悉,无法创造性地使用它。

顺便说一句,我不会简单地添加一个WHERE ID = 1语句,因为这需要涵盖更大的数据集。

4

1 回答 1

6

只需使用having

select id, sum(value)
from t
group by id
having min(value) > 0;
于 2018-07-16T17:41:52.287 回答