Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hitungan Kumulatif SQL

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.

Demo SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah ASP klasik saat menyambung ke database SQL Server jarak jauh

  2. Salin Data dari Salesforce ke SQL Server dengan Spectral Core

  3. Mengapa Kesalahan:[ODBC Driver Manager] Nama sumber data tidak ditemukan...? (berfungsi dengan baik di lingkungan dev)

  4. Ganti Pengoptimal Kueri untuk Gabungan T-SQL Anda dengan FORCEPLAN

  5. Recordset Ditutup Setelah Eksekusi Prosedur Tersimpan