对于SQL Server,您可以使用
SUM() OVER()并获得总和> = 5000的第一行;
WITH cte AS ( SELECt id, date, SUM(amount) OVER (ORDER BY date,id) totalamount FROM mytable)SELECt TOP 1 totalamount, date FROM cte WHERe totalamount >= 5000 ORDER BY date, id;
要使用进行测试的SQLfiddle。

对于SQL Server,您可以使用
SUM() OVER()并获得总和> = 5000的第一行;
WITH cte AS ( SELECt id, date, SUM(amount) OVER (ORDER BY date,id) totalamount FROM mytable)SELECt TOP 1 totalamount, date FROM cte WHERe totalamount >= 5000 ORDER BY date, id;
要使用进行测试的SQLfiddle。