假设有两个表。第一个表“user_actions”有两个字段:“user_id”和“action”。第二个表“users”也有两个字段:“id”和“name”。我想对第一个表进行排序,以便用户 Aaron 或 Bruce 提交的操作排在前面,而 Yuriy 和 Zorro 提交的操作排在最后。我该怎么做?
我尝试过这个:
select * from `user_actions` order by field(`user_id`,(select distinct `id` from `users` order by `name`))
不起作用。
最佳答案
为什么使用子查询而不是联接?
类似这样的事情:
select ua.*
from user_actions ua inner join users u on ua.user_id = u.id
order by u.name
关于mysql - 如何在 MySQL 中使用 ORDER BY FIELD 和子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4114579/