【发布时间】:2020-12-23 05:42:12
【问题描述】:
我有一张如下表,
| id | giftcard_id | downltime |
|---|---|---|
| 1111 | 6 | 23-03-2017 |
| 1111 | 7 | 01-04-2017 |
| 1111 | 7 | 02-04-2017 |
| 1111 | 7 | 05-05-2017 |
| 1111 | 7 | 06-05-2017 |
| 1111 | 7 | 07-05-2017 |
| 1111 | 7 | 08-05-2017 |
| 1111 | 7 | 11-05-2017 |
| 2222 | 8 | 21-07-2018 |
| 2222 | 8 | 22-07-2018 |
| 2222 | 8 | 23-07-2018 |
| 2222 | 8 | 28-09-2019 |
如果时差超过 24 小时(1 天),我希望礼品卡记录在单独的行中。我想要如下的输出,
| id | giftcard_id | startTime | endTime |
|---|---|---|---|
| 1111 | 6 | 23-03-2017 | 23-03-2017 |
| 1111 | 7 | 01-04-2017 | 02-04-2017 |
| 1111 | 7 | 05-05-2017 | 08-05-2017 |
| 1111 | 7 | 11-05-2017 | 11-05-2017 |
| 2222 | 8 | 21-07-2018 | 23-07-2018 |
| 2222 | 8 | 28-09-2019 | 28-09-2019 |
【问题讨论】:
-
只是检查为什么 21-07 到 23-07 不是一个单一的记录,因为它们代表连续的时间间隔
-
你试过什么?你在哪里卡住了?向我们展示你的尝试。
-
@GeorgeJoseph,我的错。 21 到 23 应该排成一排。你是对的
-
@DaleK,我尝试使用 LAG 但它不起作用
-
@Ali 所以告诉我们
标签: sql sql-server database tsql ssms