mysql怎样in查询操作排序

mysql中,可利用“ORDER BY”子句配合SELECT语句in查询操作排序,语法为“select*from 表名 where 字段值 in(排序1,排序2…) order by field(字段值,排序1,排序2…);”。

mysql怎样in查询操作排序插图

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql怎样in查询操作排序

先说解决方案:

select * from test where id in(3,1,5) order by field(id,3,1,5);

或许有人会注意过

SQL: select * from table where id IN (3,6,9,1,2,5,8,7);

这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,

但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?

是否需要取回来后再foreach一下?其实mysql就有这个方法

field函数。

函数格式: order by field(str,str1,str2,str3…)

str为字段,str1\str2\str3为具体的列值

sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

发表评论

后才能评论