我有以下SQL表
ID Key Value
1 A 10
2 A 20
3 B 50
4 B 2
5 C 30
6 c 20
我需要从该表中选择所有记录,其中Value为25的总和。因此,对于键A,应列出ID为1和2的记录。对于键B,记录ID为3,对于键C,记录ID为5。
我正在尝试类似的操作,但这给出了错误,仍在尝试。
select ID, Key, Value
from T
where Sum(value)> 25
Group by ID, Key
有什么建议可以得到想要的组合吗?
编辑:添加了服务器名称。
答案 0 :(得分:2)
我认为您希望所有具有给定键值的行一直到第一次运行的总和超过25。使用累积总和函数:
select t.*
from (select t.*, sum(value) over (partition by key order by id) as running_value
from t
) t
where running_value - value < 25;