Mysql 计算每个员工的入职和离职时间

Mysql 计算每个员工的入职和离职时间,mysql,Mysql,我有一张桌子,上面有员工的进出时间。问题是我的时间和时间只在一列。这是FILO方法中的“先入后出时间入”和“员工超时” 员工超时时间表 采样时间为0347。意思是03:47。。或1916意味着19:16。军事时间 id | emp_id | date | time 1 | GP1 | 2014-08-11 | 0847 2 | GP3 | 2014-08-11 | 0910 3 | GP2 | 2014-08-11 | 0912 4 | GP1

我有一张桌子,上面有员工的进出时间。问题是我的时间和时间只在一列。这是FILO方法中的“先入后出时间入”和“员工超时”

员工超时时间表

采样时间为0347。意思是03:47。。或1916意味着19:16。军事时间

id | emp_id |     date    | time
 1 |  GP1   | 2014-08-11  | 0847
 2 |  GP3   | 2014-08-11  | 0910
 3 |  GP2   | 2014-08-11  | 0912
 4 |  GP1   | 2014-08-11  | 1247
 5 |  GP2   | 2014-08-11  | 1756
 6 |  GP3   | 2014-08-11  | 1634
 7 |  GP1   | 2014-08-11  | 1650
现在我想让它像

id | emp_id |     date    | time in | time out
 1 |  GP1   | 2014-08-11  | 0847    |  1650
 2 |  GP2   | 2014-08-11  | 0912    |  1756
 3 |  GP3   | 2014-08-11  | 0910    |  1634  

我建议您将时间存储在数据类型为time的列中。或者更好地将该列合并到datetime或timestamp列中。不要像关键字或函数名那样命名列。

id在结果集中是什么意思?看看MIN和MAXOK。摆脱它。看看MIN和MAX
SELECT
emp_id, date, min(time), max(time)
FROM your_table
GROUP BY emp_id, date;