【发布时间】:2020-07-13 04:31:58
【问题描述】:
我在 postgers 中有一张表,其架构与此类似。
id start_time end_time
1 2019-10-21 20:00:00 UTC 2019-10-21 23:00:00 UTC
2 2019-10-21 22:00:00 UTC 2019-10-22 02:00:00 UTC
我想编写一个查询,它会给我在数据库本身中的重叠持续时间。
例如:给定两个输入
t1=2019-10-21 21:00:00 UTC
t2=2019-10-22 01:00:00 UTC
查询应该计算输入范围之间的所有重叠时间
输入与第一行的重叠时间为2 hrs
输入和第 2 行之间的重叠时间是 3 hrs
结果将是 2 + 3 = 5
【问题讨论】:
-
我不明白为什么第二行的重叠应该是 4 小时。对我来说只有三个小时(从 22:00 到次日 01:00)
-
是的,应该是 3. 编辑问题。谢谢
标签: sql postgresql date datetime group-by