我在表中有 30 条记录,每条记录的标题相同但 ID 和日期不同。如何按日期返回最近的查询?
表格如下所示:
Id - Title - Date
-----------------
1 - africa - 2012-11-27
2 - africa - 2012-11-26
3 - africa - 2012-11-25
我需要一个返回 ID 为 3 的记录的查询,即按日期计算的最新记录。到目前为止,我尝试使用 GROUP BY 时只返回 ID 为 1 的记录。我该怎么做?
最佳答案
您想获取第一条记录,但那不是最近的。子查询背后的想法是,它获取每个标题的第一个日期,并在匹配标题和日期的情况下将其与自身连接起来。
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT title, MIN(DATE) minDate
FROM tableName
GROUP BY title
) b ON a.title = b.title AND
a.date = b.maxDate
关于mysql - 如何在 MySQL GROUP BY 中按 DATE 返回第一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13556557/