Mysql中自定义排序-field()

在我们写项目的时候,我们经常会用到mysql中的排序,然而大多数情况下仅使用默认排序规则就够了

然而有时候某个字段含有自身业务的时候,需要特殊处理的时候,仅仅order by是不能解决的,这时候我们就会用到另一个mysql函数field()

order by (str,value1,value2,value3……),str与value1,value2,value3,其中str指的是字段名字,

意为:字段str按照字符串value1,value2,value3的顺序返回查询到的结果集。如果表中str字段值不存在于value1,value2,value3中的记录,放在结果集最前面返回。

例如

(1)、按照字段img_id为3,1,2,65的方式排序得到结果

Mysql中自定义排序-field()

(2)、按照字段img_id为3,1,2的方式排序得到结果(这里并没有将img_id为65的记录进行排序,所以会放在结果集的最前面)

Mysql中自定义排序-field()

当然,如果排序列是字符串类型的,也可以按此逻辑

相关推荐