【发布时间】:2019-08-09 05:14:01
【问题描述】:
attendence sql file in here我想对数据集进行分组而不删除重复值。
我尝试关注查询。我只能与一天相关一次。
SELECT
EnrolledID,
Date,
CASE WHEN Time > '1899-12-30 03:00:00' && Time <= '1899-12-30 12:15:00' THEN Time
END AS time_in ,
CASE WHEN Time > '1899-12-30 12:15:00' && Time <= '1899-12-30 23:59:59' THEN Time
END AS time_out
from attendance
GROUP BY EnrolledID ;
上述查询的输出
EnrolledID Date time_in time_out
23 2019-08-01 00:00:00 1899-12-30 07:54:40 NULL
23 2019-08-01 00:00:00 NULL 1899-12-30 16:01:40
23 2019-08-02 00:00:00 1899-12-30 07:42:35 NULL
23 2019-08-02 00:00:00 NULL 1899-12-30 16:02:53
23 2019-08-03 00:00:00 1899-12-30 07:37:41 NULL
预期输出。
EnrolledID Date time_in time_out
23 2019-08-01 00:00:00 1899-12-30 07:54:40 1899-12-30 16:01:40
23 2019-08-01 00:00:00 1899-12-30 07:42:35 1899-12-30 16:01:40
23 2019-08-02 00:00:00 1899-12-30 07:42:35 1899-12-31 16:15:33
23 2019-08-02 00:00:00 1899-12-30 07:11:51 1899-12-30 16:02:53
23 2019-08-03 00:00:00 1899-12-30 07:37:41 1899-12-31 16:15:00
【问题讨论】:
-
所以这是您的预期输出,或者您从上述查询中获得的输出。
-
非预期输出。链接图像显示原始数据集。我想根据我的数据集替换 NULL 值位置
-
有两次出现一个日期和empno。但是在组过程中,一条记录丢失了。如何避免重复删除器
-
你使用的是哪个版本的mysql
-
@Nipun Sachinda 显示您的
attendance地图