【发布时间】:2021-12-22 08:25:38
【问题描述】:
我正在尝试编写一个查询以从如下所示的表中检索 ID:
| ID | TYPE | CREATED_TIME |
|---|---|---|
| 1234 | start | 2021-11-01 21:43:48.0000000 |
| 1234 | start | 2021-11-01 21:44:40.0000000 |
| 1234 | end | 2021-11-04 15:27:50.0000000 |
| 4567 | start | 2021-09-02 20:12:40.0000000 |
| 4567 | start | 2021-09-02 23:01:11.0000000 |
理想情况下,我希望查询返回具有 2 个或更多相同类型记录且创建时间不到 3 分钟的 ID分开。所以它应该返回 ID 1234,因为它有 2 条记录类型 = start 并且创建时间相隔不到 1 分钟。 它不应返回 4567,因为创建时间相隔 3 小时。
【问题讨论】:
-
不知道你的流程,但是这个场景呢:ID 3456 Start at 21:00:00 and End at 21:01:00... 然后 Start at 21:02:00并在 21:05:00 结束?在这种情况下,ID 有两个开始,但第一个应该由第一个结束事件结束...
-
@Tyron78 类型可以是任何类型,不需要在另一个开始之前结束。希望这对你有意义。谢谢:)
-
在您给出的示例中,您只想要“1234”的结果....不需要其他详细信息?
-
@GrahamH 是的,我只希望查询返回“1234”。
标签: sql sql-server database datetime