Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- id from_id to_id date
- 1 2 1 2014-08-01
- 2 2 1 2014-08-02
- 3 2 1 2014-08-04
- 4 2 1 2014-08-05
- 6 2 1 2014-08-06
- from_id to_id min max
- 2 1 2014-08-01 2014-08-02
- 2 1 2014-08-04 2014-08-06
- Select from_id, to_id, min(date), max(date) from events group by from_id, to_id
- from_id to_id min max
- 2 1 2014-08-01 2014-08-06
- SELECT from_id,to_id,
- CONCAT_WS(' - ',
- MIN(dt),
- CASE WHEN MAX(dt)>MIN(dt) THEN MAX(dt) END
- ) As intervals
- FROM (
- SELECT from_id,to_id,
- CASE WHEN dt=@last_ci+INTERVAL 1 DAY THEN @n ELSE @n:=@n+1 END AS g,
- @last_ci := dt As dt
- FROM
- t, (SELECT @n:=0) r
- ORDER BY
- dt
- ) s
- GROUP BY
- g
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement