我有一个时间戳级别的签入和签出数据
ID checkin_datetime checkout_datetime
4 04-01-2019 13:07 04-01-2019 13:09
4 04-01-2019 13:09 04-01-2019 13:12
4 04-01-2019 14:06 04-01-2019 14:07
4 04-01-2019 14:55 04-01-2019 15:06
22 04-01-2019 20:23 04-01-2019 21:32
22 04-01-2019 21:38 04-01-2019 21:42
25 04-01-2019 23:22 04-02-2019 00:23
29 04-02-2019 01:00 04-02-2019 06:15
这是我正在寻找的输出,每个间隔都分为几个小时间隔,以此类推,例如:
ID day HR Minutes
4 04-01-2019 13 2
4 04-01-2019 13 4
4 04-01-2019 14 1
4 04-01-2019 14 5
4 04-01-2019 14 2
22 04-01-2019 20 27
22 04-01-2019 21 33
25 04-01-2019 23 28
25 04-02-2019 0 23
29 04-02-2019 1 60
29 04-02-2019 2 60
29 04-02-2019 3 60
29 04-02-2019 4 60
29 04-02-2019 5 60
29 04-02-2019 6 15
答案 0 :(得分:0)
您可以尝试TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)并在原始表中添加新列,以分钟为单位显示每个会话的总时长。
我认为您可能会在每天的00:00拆分数据,从而弄乱了数据。 您这样做的基本意思是,会话ID为25的用户有两个会话,而实际上他/她有一个会话,该会话在一天之内开始而在另一天结束。
如果这是必需的,那么也许原始表需要重新设计。