Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT min(s) as s, max(e) as e, min(rno) as min_rno, max(rno) as max_rno
- FROM (SELECT s, e, max(new_start) OVER (ORDER BY s,e) AS left_edge, ROW_NUMBER() OVER (ORDER BY s, e) as rno
- FROM (SELECT s, e,
- CASE WHEN s < max(le) OVER (ORDER BY s,e) THEN null ELSE s END AS new_start
- FROM (SELECT s, e, lag(e) OVER (ORDER BY s,e) AS le FROM intervals) s1) s2) s3
- GROUP BY left_edge ORDER BY s, e;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement