我的表titles
的排序是这样的MySQL的日期与GROUP BY
id |group|date |title
---+-----+--------------------+--------
1 |1 |2012-07-26 18:59:30 | Title 1
2 |1 |2012-07-26 19:01:20 | Title 2
3 |2 |2012-07-26 19:18:15 | Title 3
4 |2 |2012-07-26 20:09:28 | Title 4
5 |2 |2012-07-26 23:59:52 | Title 5
我需要按日期降序排序每个小组的最新结果。这样
id |group|date |title
---+-----+--------------------+--------
5 |2 |2012-07-26 23:59:52 | Title 5
2 |1 |2012-07-26 19:01:20 | Title 2
东西,我试过
SELECT *
FROM `titles`
GROUP BY `group`
ORDER BY MAX(`date`) DESC
但我从歌厅组第一名的成绩。像这样
id |group|date |title
---+-----+--------------------+--------
3 |2 |2012-07-26 18:59:30 | Title 3
1 |1 |2012-07-26 19:18:15 | Title 1
我在做什么错? 如果我使用LEFT JOIN,这个查询会更复杂吗?
如果您只需要两列(例如ID和它的最新时间戳),这可能会工作:http://stackoverflow.com/a/4448536/722036。它比**在具有数百万行的巨大表格上使用子查询更快**。 – 2016-06-26 11:41:20