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>
UNION ALL
SELECT pre.id
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