我有一张桌子
create table emp
(
id, int,
salary int
)
我需要按 id 返回滚动总和小于给定输入 X 顺序的所有行。
我想到的查询是:
Select *
From
(select id, salary, sum(salary) over (order by id ASC) as rollingSum
from emp) as temp_view
where rollingSum < X
它能够正确地提供我需要的东西。
但是即使达到了总和,子查询也会进行滚动求和直到结束。直到结束的所有行都将被搜索。
有没有一种方法可以在达到总和后立即停止滚动总和?