我们说我有这样一张桌子:
ID. Location. Value.
1. AGF. 10.00
2. VHJ. -20.00
3. AGF. -20.00
4. AGF. 5.00
5. KLZ. 50.00
6. AGF. 10.00
我想选择具有相同位置的行,其值的总和为零。
在这种情况下,结果应为:
1
3
6
因为这些行都在位置 AGF 中,所以它们总和为0(10 + -20 + 10)。
答案 0 :(得分:3)
尝试:
Select ID from YourTable where Location IN(
Select location from YouTable
Group By Location
Having sum(Value) = 0
)
答案 1 :(得分:0)
您需要使用分组和组过滤器(分别为group by
和having
子句)找到零和的所有位置。这可以在子查询中完成。然后选择刚刚选择的位置的所有ID。
select ID
from YOUR_TABLE
where Location in (
select Location
from YOUR_TABLE
group by Location
having sum(Value) = 0
)
答案 2 :(得分:0)
您可以使用GROUP BY
和HAVING
,如下所示:
Select ID from tablelocation where Location IN(
Select location from tablelocation
Group By Location
Having sum(Value) = 0
)