php sql 中WHERE 的条件:IN(3,2,5,8) 结果如何按IN中的顺序排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php sql 中WHERE 的条件:IN(3,2,5,8) 结果如何按IN中的顺序排序相关的知识,希望对你有一定的参考价值。

$ids = "3,2,5,8";
$query = DB::query("SELECT name FROM ".DB::table('chengji')." WHERE id IN("$ids") ORDER BY displayorder");

参考技术A 没法这样排序。
只能用UNION:
"(SELECT .....WHERE id=3) UNION (SELECT .....WHERE id=2) UNION (SELECT .....WHERE id=5) UNION (SELECT .....WHERE id=8)”
参考技术B 你说的很难实现,不过你这里有 displayorder 这肯定是个排序字段,在后台肯定有控制排序的,在那里做一下不就可以了。 参考技术C 你上来问 还不如去测试下

sql中,In和where的区别是什么

where也能查询多条语句吧?

那IN的主要功能就是查询多条=?是这个意思吗

SQL 语句中In 和 Where 的含义不同。
应用解释如下:

1、如需有条件地从表中选取、删除、更新数据时,使用Where;
2、In只作为Where条件子句下的一个运算符,除了In之外还有Between、Like、=、>、>=、<、<=等运算符。
下面举例说明:
1、查询名字为A和B的学生,则语句为
Select * from student where name in(\'A\',\'B\');
参考技术A SQL
语句中In

Where
的含义不同。
应用解释如下:
1、如需有条件地从表中选取、删除、更新数据时,使用Where;
2、In只作为Where条件子句下的一个运算符,除了In之外还有Between、Like、=、>、>=、<、<=等运算符。
下面举例说明:
1、查询名字为A和B的学生,则语句为
Select
*
from
student
where
name
in('A','B');
参考技术B in可以进行模糊查询,可以在in前面添加条件.在大的范围内进行查询,举个最简单的例子,比如查询没被学生选的课.就只能用in或者exist写嵌套.而where就是一个简单的条件语句,只能用来写简单的条件语句.虽然也可以写嵌套可是条件只能写简单明了的. 参考技术C where表明where后面的语句是查询条件,如果有查询条件必须以where开始
in表明in后面的是枚举值或者查询结果集,属于查询条件的一种
参考技术D in一般用来查一个数组或者举例值的,where的范围更广点。其实你对in的解释是对的。

以上是关于php sql 中WHERE 的条件:IN(3,2,5,8) 结果如何按IN中的顺序排序的主要内容,如果未能解决你的问题,请参考以下文章

SQL 中 where 条件中 in 后面 加 CASE WHEN 语句 报错

SQL 中 where 条件中 in 后面 加 CASE WHEN 语句 报错

sql中,In和where的区别

sql中,In和where的区别是什么

SQL:如何在带有“NOT IN”条件的“Where”子句中使用“and”和“or”

PHP