Равномерное распределение данных по группам

Появилась задача для равномерного распределения данных на N групп для отправки и что то совсем не получается придумать как это сделать. Может получится подсказать какими командами можно. Пробовал LAG'ом суммировать предыдущие значения до накопления нужного объёма пакета, но не получилось. (объём пакета посчитал SUM(Qnt)/N)

CREATE TABLE #temptable ( [DocID] int, [Qnt] int )
INSERT INTO #temptable
VALUES
( 27584924, 87804 )
INSERT INTO #temptable
VALUES
( 27584920, 13986 )
INSERT INTO #temptable
VALUES
( 27584939, 12712 )
INSERT INTO #temptable
VALUES
( 27585058, 11912 )
INSERT INTO #temptable
VALUES
( 27584994, 10215 )
INSERT INTO #temptable
VALUES
( 22387987, 13 )
INSERT INTO #temptable
VALUES
( 27584766, 13 )
INSERT INTO #temptable
VALUES
( 27585005, 13 )
INSERT INTO #temptable
VALUES
( 21240329, 13 )

Попробовал начать через NTILE, но не могу понять как добиться желаемого

DECLARE @N as int = 10 --количество пакетов
DECLARE @maxQnt float = (SELECT SUM(Qnt) / @N FROM temptable) --размер пакета

SELECT  Qnt, NTILE(@N) OVER (ORDER BY Qnt) AS Packet
FROM temptable
GROUP BY Qnt

Ответы (0 шт):