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

SQL - menjalankan total ketika data sudah dikelompokkan

Cara standar ANSI untuk melakukan penjumlahan kumulatif adalah:

select t.*, sum(totalpmtamt) over (order by mdate) as runningsum
from #testdata t
order by t.mdate;

Tidak semua database mendukung fungsi ini.

Jika database Anda tidak mendukung fungsionalitas itu, saya akan menggunakan subquery yang berkorelasi:

select t.*,
       (select sum(t2.totalpmtamt)
        from #testdata t2
        where t2.mdate <= t.mdate
       ) as runningsum
from #testdata
order by t.mdate;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP + SQL Server - Bagaimana cara mengatur charset untuk koneksi?

  2. Menemukan acara simultan dalam database antara waktu

  3. Sensitivitas Kasus Postgres

  4. Menyimpan Tipe Data Biner di SQL Server

  5. Cara T-SQL paling efisien untuk memasang varchar di sebelah kiri hingga panjang tertentu?