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

Nilai akumulasi baris saat ini + jumlah baris sebelumnya

Seperti ini:

;WITH cte
AS
(
   SELECT ColumnB, SUM(ColumnA) asum 
   FROM @t 
   gROUP BY ColumnB

), cteRanked AS
(
   SELECT asum, ColumnB, ROW_NUMBER() OVER(ORDER BY ColumnB) rownum
   FROM cte
) 
SELECT (SELECT SUM(asum) FROM cteRanked c2 WHERE c2.rownum <= c1.rownum),
  ColumnB
FROM cteRanked c1;

Ini akan memberi Anda:

ColumnA    ColumnB
3             a
6             b
10            c
15            d

Ini demo langsung



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan Nama Kolom dari ID-nya di SQL Server:COL_NAME()

  2. Bagaimana cara memeriksa apakah klien telah menginstal penyedia SQLNCLI10 saat menjelajah?

  3. Cara mendekripsi prosedur tersimpan di SQL Server 2008

  4. Akses ditolak untuk xp_cmdshell yang diaktifkan untuk pengguna admin

  5. Cara Menemukan Pengaturan ANSI_NULLS Database di SQL Server (T-SQL)