MySQL 根据自定义规则排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 根据自定义规则排序相关的知识,希望对你有一定的参考价值。

参考技术A mysql 中可以使用 ORDER BY FIELD('column', 1,2,3...) 的语法来自定义排序方法。

例如需要按照 ID 5,3,1,2, 7 的顺序来排序:

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的方式排序得到结果

技术图片

 

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

技术图片

 

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

以上是关于MySQL 根据自定义规则排序的主要内容,如果未能解决你的问题,请参考以下文章

SQLite 自定义函数,聚合,排序规则

power bi怎么排序?power bi自定义排序啊?求教程

Mysql中自定义排序-field()

Collections自定义List排序规则,进行自定义排序

字典自定义排序

sql 自定义排序