【发布时间】:2011-02-23 21:12:38
【问题描述】:
我正在尝试构建一个查询来分析我们的时间跟踪系统中的数据。每次用户打卡或打卡时,它都会连续记录打卡时间。因此,如果您在 9:00 打卡并在 5:00 打卡,则会有两行相应地记录这些日期戳。我需要一个查询,它将遍历行,基本上将 workingpunch_ts(时间戳列)之间的 datediff 相加(以小时为单位)。
每一行都有一个标识符,表示打卡是打卡还是打卡(inout_id,1 表示输入,2 表示输出)。
例如,如果你有
ID | workingpunch_ts | inout_id
----------------------------------------------
123 | 2011-02-16 09:00:00.000 | 1
124 | 2011-02-16 17:00:00.000 | 2
这将产生 8 小时。现在我只需要对表中的每一对行重复该过程。
关于如何实现这一点的想法?
【问题讨论】:
-
应该有一些用户标识符,也许您想将所有总和分组?还是你想要整张桌子的总和?
标签: sql sql-server sum datediff