当我们在做一些以文字进行排序的SQL语句做查询时,往往默认的排序不能按照自己的意愿排序好,下面这个方法就是解决一些固定字段排序的方法
SELECT years,season,sales_rank salesRank FROM TB_SALES_VOLUME_RANK
ORDER BY FIELD(season,'第一季度','第二季度','第三季度','第四季度') ASC
比如这样写,那么结果就会按 '第一季度','第二季度','第三季度','第四季度' 这样的顺序进行排序,如果是等级啥的也一样受用
ORDER BY FIELD(level,'A+','A','A-','B+','B','B-','C+','C','C-','D+','D','D-')
若是出现其他不在写的FIELD范围内,则会排序到顶上或最后面
如下:
ORDER BY FIELD(season,'第一季度','第二季度','第三季度','第四季度') ASC
ORDER BY FIELD(season,'第一季度','第二季度','第三季度','第四季度') DESC
这样就实现了一些固定的排序了,当然,如果你想查出数据,用Stream流做排序也是可以的