Berikut cara melakukannya dengan CTE alih-alih kursor:
WITH Base AS
(
SELECT ROW_NUMBER() OVER (ORDER BY [Count] DESC) RowNum,
[Dept],
[Count]
FROM SR
)
SELECT SR.Dept, SR.Count, SUM(SR2.[Count]) Total
FROM Base SR
INNER JOIN Base SR2
ON SR2.RowNum <= SR.RowNum
GROUP BY SR.Dept, SR.Count
ORDER BY SR.[Count] DESC
Perhatikan bahwa ini memesan dengan menurunkan Count
seperti hasil sampel Anda. Jika ada kolom lain yang tidak ditampilkan yang seharusnya digunakan untuk pemesanan ganti saja Count
di setiap ORDER BY
klausa.