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

Jumlah Kumulatif SQL Server berdasarkan Grup

Di SQL Server 2005, saya akan melakukan ini menggunakan subquery yang berkorelasi:

select dummy_id, date_registered, item_id, quantity, price,
       (select sum(quantity)
        from t t2
        where t2.item_id = t.item_id and
              t2.date_registered <= t.date_registered
       ) as cumulative
from table t;

Jika Anda benar-benar ingin menambahkan ini ke dalam tabel, Anda perlu mengubah tabel untuk menambahkan kolom dan kemudian melakukan pembaruan. Jika tabel memiliki sisipan dan pembaruan, Anda perlu menambahkan pemicu agar tetap mutakhir. Mendapatkannya melalui kueri jelas lebih mudah.

Di SQL Server 2012, Anda dapat melakukannya menggunakan sintaks:

select dummy_id, date_registered, item_id, quantity, price,
       sum(quantity) over (partition by item_id order by date_registered) as cumulative
from table t;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mendapatkan daftar tabel dalam prosedur tersimpan?

  2. Kinerja SQL Server TOP IO Query -1

  3. Versi SQL Server yang digunakan tidak mendukung tipe data datetime2?

  4. T-SQL - Aliasing menggunakan =versus as

  5. Cara mendapatkan semua Tabel dengan atau tanpa Batasan Kunci Utama di Database Sql Server - Tutorial SQL Server / TSQL 59