gpt4 book ai didi

mysql - 计算日期组之间的工作时间

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:26 24 4
gpt4 key购买 nike

登录/注销事件记录在这样的表中:

user_id     object_id   date_event
7 2 2013-05-03 08:37:11
7 3 2013-05-03 12:43:51
7 2 2013-05-03 15:33:41
7 3 2013-05-03 17:10:01

还有其他记录的对象,但 2 和 3 是重要的(2=登录,3=注销)。

我在查询时遇到问题,该查询将显示总登录小时数。我使用了 this作为起点,但我的查询针对登录的总时间返回 null。

        SELECT 
el.user_id,
TIME(SUM(el.date_event*(1-2*el.object_id))) AS total_time
FROM
event_log el
WHERE
DATE(el.date_event) = '2013-05-03' AND
el.object_id IN (2,3) AND
el.user_id = 9
GROUP BY
el.user_id;

这产生:

user_id     total_time
9 NULL

我期待的地方

user_id     total_time
9 05:43:00

为什么返回 NULL?数据集中没有空值。

最佳答案

假设3是注销,2是登录

SELECT  T1.user_id, 
T1.date_event,
MIN(TimeDiff((T2.date_event), T1.date_event )) AS DaysDiff
FROM YourTable T1
LEFT JOIN YourTable T2
ON T1.user_id = T2.user_id
AND T2.date_event > T1.date_event
WHERE T1.object_id = 2 AND T2.object_id = 3
GROUP BY T1.user_id,
T1.date_event

关于mysql - 计算日期组之间的工作时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16368142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com