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

Total lari dinamis

DIPERBARUI Apakah Anda mencari ini?

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

Dapatkan jumlah bulanan untuk tahun 2012

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

Dapatkan jumlah bulanan mulai Desember 2011

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

Contoh keluaran:

|          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 |
| .................. | ... | ........... |

Ini SQLFiddle demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Setel NLSLANG tanpa pemisah seribu

  2. Saya tidak mengerti mengapa grup saya gagal

  3. PIVOT Oracle - ubah beberapa data baris menjadi satu baris dengan banyak kolom, tanpa data agregat

  4. Rekatkan simbol Cina ke Oracle DB

  5. Mengapa quantifier yang tidak serakah terkadang berfungsi di Oracle regex?