我想查询所有行与两个开始和结束日期时间的交集的总持续时间。
如何在MySQL中实现此功能?
还是说您需要选择与查询开始和结束时间相交的行,然后在客户端计算每行的实际重叠并将其求和?
举个例子,使用毫秒使其更清晰:
一些行:
ROW START STOP
1 1010 1240
2 950 1040
3 1120 1121
我们想知道这些行在1030和1100之间的总时间。
让我们计算每一行的重叠部分:
ROW INTERSECTION
1 70
2 10
3 0
所以这个例子中的总和是80。