mysql - 如何在 MySQL 中使用 ORDER BY FIELD 和子查询?

标签 mysql subquery

假设有两个表。第一个表“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/

相关文章:

mysql - 在一个查询中显示同一数据集中的不同值

mysql - 使用 IF 语句更新列 MYSQL

mysql - 使用引用原始表的子查询删除

mysql - 从多个团队获得一份估算

SQL:子查询帮助

sql - 子查询使用来自外部查询的未分组列 "i.date_time"

php - 如何仅显示来自好友列表的帖子。 (正确)

java - 无法连接到我的数据库 000webhost.com

MySQL 获取24小时内收到评论且未回复的用户

java - 从另外两个查询中提出一个查询?