Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Fungsi agregasi Oracle untuk mengalokasikan jumlah

Anda mencari jumlah kumulatif. Sesuatu seperti ini:

select t1.*,
       (case when cumecap <= t2.item_amount 
             then t1.capacity
             when cumecap - t1.capacity <= t2.item_amount
             then t2.item_amount - (cumecap - t1.capacity)
             else 0
        end) as allocated_capacity
from (select t1.*,
             sum(t1.capacity) over (partition by bag_type order by bag_id) as cumecap
      from t1
     ) t1 join
     t2
     on t1.bag_type = t2.item_type;


  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 cara menyembuhkan penyebab pengecualian Hibernate IllegalArgumentException terjadi saat memanggil setter?

  2. Hitung nilai berbeda untuk setiap kolom satu per satu

  3. Bagaimana cara mendapatkan Oracle, melihat prosedur apa yang sedang berjalan?

  4. Replikasi database MySQL lengkap lengkap? Ide ide? Apa yang orang-orang lakukan?

  5. Hitung Jumlah durasi dalam kueri sql