sql >> Databáze >  >> RDS >> Oracle

Oracle APEX - SQL - Vytvoření sekvenční historie a výpočet dnů mezi každou fází

Řekl bych, že již zachycujete všechny metriky, které potřebujete, protože trvání lze odvodit ze stávajících údajů. Můžete vytvořit pohled:

create or replace  view vw_doc_timeline as
  select t.doc_entry_id, t.doc_id, t.doc_status, t.doc_date
       , case when doc_status = 'Published' then 0
              else lead(doc_date) over (partition by doc_id order by doc_entry_id)
                   - doc_date
              end as duration
  from tbl_doc_timeline t;

Potom:

SQL> select * from vw_doc_timeline;

DOC_ENTRY_ID     DOC_ID DOC_STATUS                     DOC_DATE    DURATION
------------ ---------- ------------------------------ --------- ----------
           1        123 Planned                        05-JUN-12         10
           7        123 Draft                          15-JUN-12          5
          38        123 Approval                       20-JUN-12         10
         102        123 Published                      30-JUN-12          0



  1. Msql:Počítání růstu v průběhu času

  2. Jak zachytit výstup DBCC-Statement v temptable

  3. Připojení k MySQL z Androidu pomocí JDBC

  4. Který správce db pro tabulku 100Go?