mysql - 如何从子查询中按顺序告诉 mySQL 返回行?
问题描述
我需要 mySQL SELECT 查询根据子查询的结果以特定顺序返回行。
我有一个未排序的键列表,当我执行 SELECT 时,结果集会自动排序。结果集的顺序是否可能与提供的列表相同?
例子:
Select * from $table
where Id in (8,4,1,3)
mysql按排序顺序返回它们,即:1、3、4、8
有没有办法以相同的顺序获取结果集,即:8、4、1、3?
谢谢你。
解决方案
如果你想要一个特定的订单,你可以使用 FIELD()
Select * from $table
where Id in (8,4,1,3)
order by FIELD(ID, 8,4,1,3)
推荐阅读
- android - android studio中firebase依赖项的重复类错误
- shell - Ansible shell 未运行 Helm 命令
- bash - 读取输入并退出“^G”
- javascript - TypeError:调度不是 ReactJS 中的函数
- ios - 添加导航项时,如何删除自定义导航栏的这个不需要的灰色区域?
- java - 在 Android 中向视图添加评论
- reactjs - 我想在按下按钮时动态添加这个卡片组件。因此,如果我按下按钮 3 次,则必须将 3 张卡片添加到 DOM
- r - R 中 DBSCAN 的 DBCV 验证
- discord - 将 C++ 程序设置为游戏
- laravel - 我们如何使用路径在 laravel 中显示图像?