输入第一个日期的Sql group by和order

时间:2015-08-23 08:01:01

标签: mysql sql datetime select group-by

我想从列datetime获取第一个日期时间。结果总是相反。使用下面的查询,输出最新记录。我想要最新记录的相反输出。我怎样才能达到预期的效果?

name     datetime
John     August 23, 2015 03:50:01
John     August 23, 2015 03:50:14
Jane     August 23, 2015 04:51:11
Jane     August 23, 2015 05:00:11

期望的结果应该是

name  datetime
John  August 23, 2015 03:50:01
Jane  August 23, 2015 04:51:11

我正在使用此查询

SELECT * FROM person GROUP BY name

2 个答案:

答案 0 :(得分:0)

您可以通过添加order by子句以升序排列limit该列:

SELECT   *
FROM     person
ORDER BY `datetime` ASC
LIMIT    1

答案 1 :(得分:0)

这是一种方法:

select p.*
from person p
where p.datetime = (select max(p2.datetime) from person p2 where p2.name = p.name);

注意:如果两行具有完全相同的datetime值,您将获得两者。