假设我得到下面一行数字,最大数量值是10。

Quantity  BatchValue
2         0
4         0
4         0
6         1
8         2

求2+4+4的和得到的值小于或等于max quatity 10,因此这些行的批处理值变为0。挂起的行是6和8它们不能被归纳为

最佳答案

这里有一个很好的运行和例行程序,你可以使用

create table #temp (rowid int identity,  quantity int)
insert #temp
select quantity from yourtable order by your order

declare @holding table (quantity int, runningsum int)
declare @quantity int
declare @running int=0
declare @iterator int = 1
while @iterator<=(select max(rowid) from #temp)
begin
select @quantity=quantity from #temp where rowid=@iterator
set @running=@quantity+@running
insert @holding
select @quantity, @running
set @iterator=@iterator+1
end

关于c# - 给定SQL Server中n个数字的排序行,我如何找到行的总和在什么时候达到值k?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49560009/

10-12 17:58