gpt4 book ai didi

mysql - 获取每天的第一条记录,然后仅检查状况

转载 作者:行者123 更新时间:2023-11-29 10:08:15 24 4
gpt4 key购买 nike

我有这样的用户出勤时钟数据。

id  | userID | created_at
1 | 1 | 2018-06-27 00:15:00
2 | 1 | 2018-06-27 01:43:55
3 | 1 | 2018-06-27 02:43:55
4 | 2 | 2018-06-27 00:15:00
5 | 2 | 2018-06-27 02:43:55
6 | 2 | 2018-06-27 03:43:55
7 | 1 | 2018-06-28 00:55:00
8 | 1 | 2018-06-28 01:43:55
9 | 1 | 2018-06-28 02:43:55
10 | 2 | 2018-06-28 00:00:00
11 | 2 | 2018-06-28 02:43:55
12 | 2 | 2018-06-28 03:43:55

我想要一个用户迟到打卡的日期列表。假设公司工作时间为 00:00:00 并且我怎样才能得到这样的结果:

id  | userID | created_at
1 | 1 | 2018-06-27 00:15:00
4 | 2 | 2018-06-27 00:15:00
7 | 1 | 2018-06-28 00:55:00

感谢你们的帮助。谢谢🙏🏻

最佳答案

您可以尝试按用户和日期进行有条件聚合,然后检查是否发生(或未发生)精确的午夜时钟:

SELECT
userID,
MIN(created_at) AS created_at
FROM yourTable
GROUP BY
userID,
DATE(created_at)
HAVING
SUM(CASE WHEN DATE_FORMAT(created_at, '%H:%i:%s') = '00:00:00' THEN 1 ELSE 0 END) = 0;

enter image description here

Demo

关于mysql - 获取每天的第一条记录,然后仅检查状况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51489316/

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