sql >> Database teknologi >  >> RDS >> Oracle

Dynamisk løbende total

OPDATERET Leder du efter dette?

CREATE VIEW vw_rain_stats
AS
  SELECT TRUNC(rain_date, 'MM') rain_date,
         SUM(amt) amt
    FROM rain_stats
   GROUP BY TRUNC(rain_date, 'MM')
;
 

Få månedlige beløb for 2012 år

SELECT rain_date,
       amt,
       SUM(amt) OVER (ORDER BY rain_date) running_amt
  FROM vw_rain_stats
 WHERE rain_date BETWEEN '01-JAN-12' AND '01-DEC-12';
 

Få månedlige beløb fra og med december 2011

SELECT rain_date,
       amt,
       SUM(amt) OVER (ORDER BY rain_date) running_amt
  FROM vw_rain_stats
 WHERE rain_date >= '01-DEC-11';
 

Eksempeloutput:

| RAIN_DATE | AMT | RUNNING_AMT | ------------------------------------------ | December, 01 2011 | 80 | 80 | | January, 01 2012 | 30 | 110 | | February, 01 2012 | 70 | 180 | | March, 01 2012 | 110 | 290 | | .................. | ... | ........... |

Her er SQLFiddle demo



  1. Eksempel på flytning fra MySQL til NoSQL?

  2. SQL er lig med (=) operatør for begyndere

  3. En oversigt over Percona XtraDB Cluster Kubernetes-operatøren

  4. Få resterende dage, timer og minutter ved at bruge mySql