您的位置:首页 > 其它

求出一个表前面多少条记录的金额相加大于等于指定的值

2016-05-23 15:36 316 查看
DECLARE @t TABLE (
id INT PRIMARY KEY,
n INT
)
INSERT INTO @t (id,n) VALUES (2,10),(3,12),(5,13),(7,14),(8,15)
SELECT * FROM @t
DECLARE @v INT
SET @v = 30

;WITH t AS(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS rowNum, id,SUM(n) OVER (ORDER BY id) AS s FROM @t
)
,t2 AS (
SELECT a.rowNum FROM t A WHERE A.s>=@v AND EXISTS(
SELECT * FROM t B WHERE b.rowNum=a.rowNum-1 AND b.s<@v
)
)
SELECT * FROM t A WHERE Exists(
SELECT * FROM t2 B WHERE A.rowNum<=B.rowNum
)


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: