Oracle
 sql >> база данни >  >> RDS >> Oracle

sql заявка за изчисляване на сумата и добавяне на сума от предишни редове

Можете да използвате следната заявка

with t1(  dat_dt, credit, debit) as
(
 select date'2019-02-22',10,  5 from dual union all
 select date'2019-02-25',30, 60 from dual union all
 select date'2019-03-10',50, 40 from dual union all
 select date'2019-03-13',100,10 from dual    
)
select max(dat_dt) as "max date",
       sum(credit) as "cr sum",
       sum(sum(credit)) over ( order by to_char(dat_dt,'yyyymm') ) as "progressive credit", 
       sum(debit) as "dr sum",
       sum(sum(debit))  over ( order by to_char(dat_dt,'yyyymm') ) as "progressive debit"
  from t1
 group by to_char(dat_dt,'yyyymm')
 order by to_char(dat_dt,'yyyymm');

с агрегиране по комбинация година-месец.

Демо



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика в обработката на интервалите между Oracle и SQL Server

  2. Създаване на среда за разработка за изучаване на PL/SQL

  3. Как да изберете всички колони и брой (*) в една и съща заявка

  4. запазете специалния символ ansi в база данни на oracle с помощта на php

  5. Oracle SQLDeveloper на MacOS не се отваря след инсталиране на правилна Java