我有一个MySQL声明MySQL的选择GROUP BY为了
SELECT *
FROM tbl_messages
WHERE to_user_id = '$user_id' OR from_user_id = '$user_id'
GROUP BY from_user_id
ORDER BY date_sent DESC
以他们没有按照正确的顺序是产生正确的结果。
分组运行良好,但它在组中显示的记录是输入到数据库中的第一个记录,但我希望在每个组中显示最新记录。
有没有办法为每个组显示最新的记录?
2011-12-19 12:16:25 This is the first message
2011-12-19 12:18:20 This is the second message
2011-12-19 12:43:04 This is the third message
的组显示出“这是第一消息”我想去“这是第三消息”,因为这是最最近记录/消息。
干杯
查询应该显示什么? – 2011-12-19 01:50:03
如果你只需要两列(例如ID和最新的时间戳),这可能会起作用:http://stackoverflow.com/a/4448536/722036。它比**在具有数百万行的巨大表格上使用子查询更快**。 – 2016-06-26 11:38:29