Re: SQL for intervals

From: Tonkuma <tonkuma_at_jp.ibm.com>
Date: 12 Dec 2006 04:36:55 -0800
Message-ID: <1165927011.908998.33370_at_j44g2000cwa.googlegroups.com>


If you prefer recursive query. Here is an example: WITH Recurse (id, lo_bound, duration) AS ( SELECT id, t, 1
  FROM W lbound
 WHERE NOT EXISTS

       (SELECT *
          FROM W lower
         WHERE lower.id = lbound.id
           AND lower.t  = lbound.t - 1 day
       )

UNION ALL
SELECT pre.id

, lo_bound
, duration + 1

  FROM Recurse pre

, W new

 WHERE duration < 1000
   AND new.id = pre.id
   AND new.t = lo_bound + duration Day
)
SELECT id, lo_bound

, lo_bound + (MAX(duration)-1) Day up_bound
  FROM Recurse
 GROUP BY
       id, lo_bound; Received on Tue Dec 12 2006 - 13:36:55 CET

Original text of this message