試想日這個名單範圍MySQL的 - 排除衝突的日期範圍
> SELECT * FROM range_table;
+----+------------+------------+
| id | start | end |
+----+------------+------------+
| 1 | 2014-01-01 | 2014-01-15 | /* -- Not conflicting */
| 2 | 2014-01-15 | 2014-01-16 | /* -- Conflicting */
| 3 | 2014-01-15 | 2014-01-20 | /* | */
| 4 | 2014-01-15 | 2014-01-19 | /*/ */
| 5 | 2014-01-24 | 2014-01-26 | /* -- Conflicting */
| 6 | 2014-01-21 | 2014-01-25 | /*/ */
+----+------------+------------+
我試圖刪除衝突的範圍,只保留每個衝突組的第一次出現。
這是我應該在最後:
+----+------------+------------+
| id | start | end |
+----+------------+------------+
| 1 | 2014-01-01 | 2014-01-15 |
| 2 | 2014-01-15 | 2014-01-16 |
| 5 | 2014-01-24 | 2014-01-26 |
+----+------------+------------+
這裏是fiddle
通過「第一次出現」你的意思是一個具有最早'id'? – Strawberry