【Sql】mysql whereIn根据查询id排序

依然范儿特西
2021-06-07 / 0 评论 / 60 阅读 / 正在检测是否收录...

mysql in根据查询id排序

mysql in根据查询时,返回结果是自行排序的,如果要按照我们查询的ID进行排序, 要用到order by field,下面用几个例子来说明一下mysql in查询排序

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

这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的, 但如果我们真要按IN里面的顺序排序怎么办?我们可以用order by field

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

查询出来的结果就是按自定义的ID进行排序了.

orm 用法

$ret = Db::table('laofan')
   ->field('*')
   ->whereIn('id',$ids)
   ->order('id',$ids)
   ->select()
   ->toArray();     
0

评论 (0)

取消