Oracle
 sql >> база данни >  >> RDS >> Oracle

Данни, групирани по дата в oracle sql

Това е директно приложение на метода Tabibitosan за намиране на набори от "последователни" редове в последователности. Разликата между два аналитични row_number() създава допълнителен флаг за групиране, необходим, преди да приложим стандартно агрегиране.

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. Проверки на валидна дата в Oracle

  2. конфигурирайте django с проблем с базата данни на Oracle 11g

  3. Добавена дата и модифицирана дата за одит на таблица на Oracle

  4. Вземете конкретен брой стойности на колони в Oracle с вътрешно присъединяване

  5. Вмъкване на изображение от Oracle в SQL Server