检索具有最大日期的每个组的行

时间:2016-08-15 06:21:16

标签: mysql select greatest-n-per-group min

我有这个MySQL表:

ID     Number     Date
1      4          2015-05-30
2      4          2016-03-15
3      5          2016-04-01
4      5          2016-05-01

我想获得唯一的数字,但只能获得具有最高日期的数字。结果必须得到:

ID     Number     Date
2      4          2016-03-15
4      5          2016-05-01

我试过了:

SELECT 
* 
FROM emp_events ee 
Date = (SELECT MAX(Date) FROM emp_events ee1 WHERE ee1.Number = ee.Number));

但没有得到所有想要的结果。

1 个答案:

答案 0 :(得分:-2)

  

试试这个

您必须GROUP BY number并在查询

中找到最大日期设置ORDER BY date ASC
SELECT *
FROM `emp_events` AS ee
GROUP BY `number`
ORDER BY `date` ASC