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

Dữ liệu được nhóm theo ngày trong oracle sql

Đây là một ứng dụng trực tiếp của phương pháp Tabibitosan để tìm các tập hợp các hàng "liên tiếp" trong chuỗi. Sự khác biệt của hai phân tích row_number() các hàm tạo cờ nhóm bổ sung cần thiết trước khi chúng tôi áp dụng tập hợp tiêu chuẩn.

select   employee, job, min(start_date) as start_date, max(end_date) as end_date, FTE
from     ( select employee, job, start_date, end_date, FTE,
                  row_number() over (partition by employee, job      order by start_date) -
                  row_number() over (partition by employee, job, FTE order by start_date) 
                                                                                    as grp
           from t
         )
group by employee, job, FTE, grp
order by employee, start_date
;


EMPLOYEE   JOB   START_DATE  END_DATE           FTE
---------- ----- ----------- ----------- ----------
1111       1     19-May-2008 27-Nov-2013        100
1111       1     28-Nov-2013 24-Aug-2015         60
1111       1     25-Aug-2015 11-Sep-2016     68.571
1111       1     12-Sep-2016 29-Sep-2016     72.857
1111       1     30-Sep-2016 10-Nov-2016     91.429
1111       1     11-Nov-2016 23-Apr-2017        100
1111       1     24-Apr-2017 14-Jan-2018         60
1111       1     15-Jan-2018 31-May-2019     71.429
1111       1     01-Jun-2019 31-Dec-2049        100

9 rows selected.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL / SQL Làm thế nào để lấy X ngày trước từ Ngày là Ngày?

  2. Cách lấy thông tin hồ sơ trước đó

  3. Thủ tục Oracle

  4. Oracle chọn ngày giữa hôm nay

  5. Cách đơn giản để chạy tập lệnh sqlplus từ java