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. MySQLでフィールドを移動して削除する方法

    2. Oracle SQL to_date &to_timestamp ORA-01858:数値が必要な場所に非数値文字が見つかりました &ORA-01850:時間は 0 から 23 の間でなければなりません

    3. MySQLの結果をbashで処理する

    4. MySQLのデフォルトの照合latin1_swedish_ciはなぜですか?