Mysql 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

我是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
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列。我需要表中的输出。通过将日期和时间存储为单个实体,您可以省去很多麻烦