这是我的查询:
SELECT id
FROM users
WHERE (id IN (
SELECT user_id
FROM messages
WHERE recipient_id='$my_user_id' ORDER BY time DESC)
OR id IN (
SELECT recipient_id
FROM messages
WHERE user_id='$my_user_id' ORDER BY time DESC))
我收到消息/向其发送消息的人员列表出现,但它们没有正确排序。我希望新邮件收件人位于顶部,而旧邮件收件人位于底部。我该怎么做?
最佳答案
SELECT u.id
FROM users u
JOIN messages m on m.recipient_id = u.id
or m.user_id = u.id
WHERE u.id = '$my_user_id'
ORDER BY m.time DESC
关于mysql - 将 IN 语句内的 SELECT 语句中的列用于主查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29587978/