我有一个表messages
具有以下字段:如何排序降序组的结果?
id
,surname
,name
,message
,message_date
我想写正确的查询,从而显示由surname
分组和排序的所有行日期按降序排列(我希望组只显示最近的记录,基于message_date
)。
举例来说,如果我有以下记录:
- 1, John Doe, my message, 2016-04-24 11:13:24
- 2, Johnny Doe, hello, 2016-05-22 15:23:05
- 3, John Doe, another message, 2016-05-23 16:10:07
我想获得以下结果:
- 3, John Doe, another message, 2016-05-23 16:10:07
- 2, Johnny Doe, hello, 2016-05-22 15:23:05
我尝试使用下面的查询,但它不工作正确:
$sql="SELECT *
FROM messages
WHERE (id, surname, name, message, message_date) IN (
SELECT id, surname, name, message, MAX(message_date)
FROM messages
GROUP BY surname)";
谢谢!
你试过添加'ORDER BY message_date DESC'吗? – jakob
@jakob这会有什么帮助? – sagi