Mysql SQL命令二合并
我是SQL新手 我的表格如下:Mysql SQL命令二合并,mysql,sql,Mysql,Sql,我是SQL新手 我的表格如下: EMP_NUMBER ATTDATE ATTTIME 00001 01-05-2018 9:00 00001 01-05-2018 18:00 00001 02-05-2018 8:00 00001 02-05-2018 20:00 现在,我希望SQL query使用上面的表日期创建表,格式如下: EMP_NUMBER ATTDATE ATTINTIME ATTOUTTIME 0
EMP_NUMBER ATTDATE ATTTIME
00001 01-05-2018 9:00
00001 01-05-2018 18:00
00001 02-05-2018 8:00
00001 02-05-2018 20:00
现在,我希望SQL query使用上面的表日期创建表,格式如下:
EMP_NUMBER ATTDATE ATTINTIME ATTOUTTIME
00001 01-05-2018 9:00 18:00
00001 02-05-2018 8:00 20:00
一个简单的
groupby
查询应该可以在这里工作:
SELECT
EMP_NUMBER,
ATTDATE,
MIN(ATTTIME) AS ATTINTIME,
MAX(ATTTIME) AS ATTOUTTIME
FROM yourTable
GROUP BY
EMP_NUMBER,
ATTDATE;
注意:此答案假设您的日期和时间信息在实际datetime
和time
列中。如果没有,那么您直接处理文本,它将无法正确排序。作为临时补救措施,您可以使用STR\u TO\u DATE
。例如,您可以使用以下命令将ATTTIME
列转换为正确的时间:
STR_TO_DATE(ATTTIME, '%H:%i')
一个简单的
groupby
查询应该可以在这里工作:
SELECT
EMP_NUMBER,
ATTDATE,
MIN(ATTTIME) AS ATTINTIME,
MAX(ATTTIME) AS ATTOUTTIME
FROM yourTable
GROUP BY
EMP_NUMBER,
ATTDATE;
注意:此答案假设您的日期和时间信息在实际datetime
和time
列中。如果没有,那么您直接处理文本,它将无法正确排序。作为临时补救措施,您可以使用STR\u TO\u DATE
。例如,您可以使用以下命令将ATTTIME
列转换为正确的时间:
STR_TO_DATE(ATTTIME, '%H:%i')
是MSSQL还是mySql?您使用哪个软件进行数据库管理?mysql。。我需要mysql查询来查看这个。你想创建一个名为ATTOUTTIME的新列还是只查看输出?应该创建ATTOUTTIME列。我需要表中的输出。通过将日期和时间存储为单个实体,您可以省去很多麻烦。是MSSQL还是mySql?您使用哪个软件进行数据库管理?mysql。。我需要mysql查询来查看这个。你想创建一个名为ATTOUTTIME的新列还是只查看输出?应该创建ATTOUTTIME列。我需要表中的输出。通过将日期和时间存储为单个实体,您可以省去很多麻烦