mysql按照自定义字段顺序排序-order by field

mysql 函数语法

mysql中按照某一个字段升降序排列的时候, 我们可以用order by field asc 和 order by field1 desc, field2 asc.

这样可以实现多个字段的升降序排序.

但是有些时候, 我们还希望按照某一个字段的指定顺序排,  这个时候可以用order by field.

例如:

select * from table where id in('5,4,9,45,12') ORDER by field(`id`,'5,4,9,45,12')

把选出的记录的 id 在 FIELD 列表中进行查找,并返回位置,以位置作为排序依据。
这样的用法,会导致 Using filesort,是效率很低的排序方式。除非数据变化频率很低,或者有长时间的缓存,否则不建议用这样的方式排序。



欢迎转载,转载请注明来自一手册:http://yishouce.com/article/75.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1