• 2024-09-08
宇哥博客 数据库 MySQL中order by自定义指定排序

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)
本文来自网络,不代表本站立场,转载请注明出处。http://www.ygbks.com/3340.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部