首页 > 解决方案 > 如何从子查询中按顺序告诉 mySQL 返回行?

问题描述

我需要 mySQL SELECT 查询根据子查询的结果以特定顺序返回行。

我有一个未排序的键列表,当我执行 SELECT 时,结果集会自动排序。结果集的顺序是否可能与提供的列表相同?

例子:

Select * from $table 
where Id in (8,4,1,3) 

mysql按排序顺序返回它们,即:1、3、4、8

有没有办法以相同的顺序获取结果集,即:8、4、1、3?

谢谢你。

标签: mysqlselectsubquery

解决方案


如果你想要一个特定的订单,你可以使用 FIELD()

    Select * from $table 
    where Id in (8,4,1,3) 
    order by FIELD(ID, 8,4,1,3)

推荐阅读