排序
以前在大学学习以及近一年的工作中所用到的排序大多都是根据ID、创建时间、修改时间等等进行一个排序,或者是在此基础上再加上一个二级排序字段,使用order by 字段A,字段B即可。
写此文章的原因
- 前两天产品提了一个需求,根据订单状态进行一个排序。而状态在数据库中字段类型为integer,按照产品需求大概的意思就是根据2,3,1,5,4这个样子排序。
- 突然想起来自己从来没有考虑过关于自定义排序的问题,然后查阅资料,解决了问题然后写下了这篇文章。
field()
field()函数为mysql的排序函数,语法为order by field(column,value1,value2,value3)
column为需要排序的字段,然后后面列举出来的value是排序规则。
例如:select * from table_name where xxxxxx order by field (state,2,3,1,5,4);
这样就可以根据state字段进行一个自己需要的排序查询,同样的后面也可以继续加上逗号进行一个二级排序字段。
后言
在学习的道路中,你不一定会有一个固定的方向去学习,多多少少会是一条折线。肯定会有部分知识的缺漏,这都不要紧。需要的是在遇到自己不会的问题之后去查阅资料学习并记下来将来的日子能用到,这就是最大的收获。