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

tisk počátečního a koncového data v jednom řádku pro souvislé nebo překrývající se časové rozsahy v Oracle SQL

Existuje elegantní (a efektivní) řešení pomocí match_recognize klauzule (která vyžaduje Oracle 12.1 nebo vyšší).

select po, startdate, enddate
from   orders
match_recognize (
  partition by po
  order     by startdate
  measures  first(startdate) as startdate, max(enddate) as enddate
  pattern   ( c* n )
  define    c as max(enddate) + 1 >= next(startdate)  
);


  1. Mýtus, že DROP a TRUNCATE TABLE nejsou protokolované

  2. Pivot v Oracle 11g

  3. Přehled úkolů Nejnovější služba monitorování databáze – Spotlight Cloud

  4. Laravel:Zadaný klíč byl příliš dlouhý; maximální délka klíče je 767 bajtů