【发布时间】:2021-03-23 12:23:14
【问题描述】:
我们有一个包含以下数据的项目表:
| project_id | start_date | end_date |
|---|---|---|
| 101 | 2020-01-01 | 2020-01-05 |
| 102 | 2020-01-06 | 2020-01-08 |
| 103 | 2020-01-09 | 2020-01-13 |
| 104 | 2020-01-16 | 2020-01-17 |
| 105 | 2020-01-18 | 2020-01-20 |
| 106 | 2020-01-24 | 2020-01-28 |
| 107 | 2020-01-29 | 2020-01-30 |
如果下一个项目的 start_date 比上一个项目的结束日期晚 1 天,则一组特定的项目属于一个共同的史诗。例如,101,102 和 103 属于单个史诗,因为 102 的 start_date 是 2020-01-06,即 101 的 end_date 2020-01-05 后 1 天。同样,103 的 start_date 是 2020-01-09,也就是 102 的 end_date 2020-01-08 后 1 天
必须得到如下结果表
| epic | projects | start_date | end_date |
|---|---|---|---|
| 1 | 101;102;103 | 2020-01-01 | 2020-01-13 |
| 2 | 104;105 | 2020-01-16 | 2020-01-20 |
| 3 | 106;107 | 2020-01-24 | 2020-01-30 |
不知何故,我觉得这是一个差距和孤岛问题,但我无法将它们隔离开来。感谢您的帮助!
【问题讨论】:
-
我删除了不一致的数据库标签。请仅使用您正在使用的数据库进行标记。
-
假设您有 3 个项目。第一次在 2020 年 12 月 31 日结束,第二次和第三次在 2021 年 1 月 1 日开始。什么是史诗 - 1,2 或 1,3?为什么?
标签: sql