MySQL中可以使用order by
对某个字段进行排序,有时候会遇到需要将排前边的放到最后显示。
这样一个表,select * from test
,pt
字段为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)