Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL trunc / nhóm / thứ tự theo ngày (ngày / tháng / quý / năm) với tổng số ngày bỏ qua không có dữ liệu

Hãy thử một cái gì đó như sau (ví dụ đơn giản):

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

Đây là ví dụ 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. Trình điều khiển Oracle thay thế cho .net

  2. Cách thiết lập Thư mục đích đến của bản ghi lưu trữ trong cơ sở dữ liệu Oracle

  3. ORA-29902:lỗi thực thi quy trình ODCIIndexStart () ORA-20000:Oracle Lỗi văn bản:DRG-50901:lỗi cú pháp phân tích cú pháp truy vấn văn bản trên dòng 1, cột 19

  4. Xuất Bảng Oracle sang Trang tính Excel

  5. Oracle:CẬP NHẬT KHÓA DUPLICATE