0

我已经实现了这个sql语句:

SELECT users.firstname, users.lastname, users.screenname, profile.profile_pic,
users.user_id, messages.msgid, messages.message, messages.action,
DATE_FORMAT(messages.date_sent, '%M %d, %Y %r') AS date_sent
FROM messages messages
JOIN users ON messages.sent_by = users.user_id
LEFT JOIN profile ON (users.user_id = profile.user_id)
WHERE messages.recepient_id = "12052821" and messages.action = false
ORDER BY msgid DESC

它向我输出正确的输出(下) 在此处输入图像描述

问题是您如何整理所有向您发送消息的用户列表并分别显示前 1 条消息 ORDER BY by msgid DESC?(用户不得重复)

这是我的桌子 在此处输入图像描述

我想我上面的查询需要一些改进。提前谢谢你们

4

2 回答 2

0

问题已解决 - 只需添加以下行:GROUP BY users.user_id在 order by

于 2012-06-01T05:32:06.403 回答
-1

尝试

ORDER BY msgid DESC LIMIT 1
于 2012-06-01T05:23:34.500 回答