51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

MySQL中order by自定义指定排序

MySQL中可以使用order by对某个字段进行排序,有时候会遇到需要将排前边的放到最后显示。

这样一个表,select * from testpt字段为int类型,需要将pt=10的排最后,其它的按照pt字段正排。
图 | 表

可以使用case when...then...when...then...else...end

SQL语句:

select id,pt,case when pt=10 then 100 else pt end from test where 1=1 order by case when pt=10 then 100 else pt end asc;

图 | 排序后

更多

也可用FIELD()函数指定排序,FIELD(str,str1,str2,str3,...)

SQL语句:

select id,pt from test where 1=1 order by FIELD(pt,2,15,10)
赞(2)
未经允许不得转载:工具盒子 » MySQL中order by自定义指定排序