sql >> Databáze >  >> RDS >> Oracle

sql dotaz pro výpočet součtu a přidání součtu z předchozích řádků

Můžete použít následující dotaz

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');

s agregací podle kombinace rok-měsíc.

Ukázka



  1. problém s Add_month v oracle, potřebuji vygenerovat fakturační cyklus

  2. Najděte poslední řádek ve skupině podle dotazu-SQL Server

  3. Obnovte obsah prvku div pouze v případě, že je do databáze přidán nový obsah

  4. Úprava databáze se schválením - mysql