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

SQL trunc/grup/pesan berdasarkan tanggal (hari/bulan/kuartal/tahun) dengan jumlah lewati tanggal tanpa data

Coba sesuatu seperti ini (contoh sederhana):

with 
months_int as
(select trunc(min(inc_date), 'MM') min_month, trunc(max(inc_date), 'MM') max_month
 from data),
months as
(
  select add_months(min_month, level-1) mnth_date
  from months_int 
  connect by add_months(min_month, level-1)<= max_month
  )
select  mnth_date, sum(cnt) 
from data  right outer join months on trunc(inc_date, 'MM') = mnth_date
group by mnth_date
order by mnth_date

Berikut adalah contoh sqlfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menjalankan kueri pemilihan dinamis besar dalam prosedur tersimpan

  2. sql - ORA-00937:bukan fungsi grup grup tunggal

  3. Bagaimana cara melihat tipe variabel dalam PL/SQL?

  4. Bagaimana memilih perbandingan dua kolom sebagai satu kolom di Oracle

  5. Oracle 19c Open_cursor melebihi masalah