【发布时间】:2021-08-22 13:02:36
【问题描述】:
我的 ERP 数据库中有一个表,其中包含有关某些事件的数据。它有开始日期、结束日期和一列显示事件是否是前一个事件的延续(sequential_id 引用 unique_id)。这是一个例子:
| unique_id | start_date | end_date | sequential_id |
|---|---|---|---|
| 001 | 2021-01-01 | 2021-01-15 | |
| 002 | 2021-02-01 | 2021-02-16 | 001 |
| 003 | 2021-03-01 | 2021-03-17 | 002 |
| 004 | 2021-03-10 | 2021-03-11 | |
| 005 | 2021-03-19 |
在上面的示例中,行 001、002 和 003 都是同一事件的一部分,而 004/005 是唯一事件,没有序列。如何以输出如下的方式对数据进行分组:
| origin_id | start_date | end_date |
|---|---|---|
| 001 | 2021-01-01 | 2021-03-17 |
| 004 | 2021-03-10 | 2021-03-11 |
| 005 | 2021-03-19 |
我尝试过使用 group by,但由于 sequence_id 是自动递增的,它不起作用。
提前致谢。
【问题讨论】:
标签: sql oracle group-by subquery oracle-sqldeveloper