有一张学习打卡表 his_sign
表,简单起见,只设置了两个字段(id,create_ts)
,一个是主键,另一个是打卡时间。his_sign
表的数据如下,我们要统计出这张表里面最长的连续打卡记录。
id create_ts
------ ---------------------
1 2020-05-01 09:04:26
2 2020-05-02 11:54:45
3 2020-05-04 23:05:03
4 2020-05-06 07:12:31
5 2020-05-06 08:01:52
6 2020-05-07 22:06:48
7 2020-05-08 12:36:58
8 2020-05-09 11:49:13
9 2020-05-12 08:52:35
10 2020-05-13 23:45:57
11 2020-05-14 00:02:24
12 2020-05-14 09:24:18
13 2020-05-19 15:34:45
14 2020-05-21 21:10:02
先检查数据,我们发现在一天之内可以多次打卡,因此需要先去掉重复打卡的记录,并将字段 create_ts
使用日期格式展示。
SELECT DISTINCT
(DATE(create_ts)) AS create_ts
FROM
his_sign
去重并格式化后的数据如下