MySQL 将某个字段值的记录排在最后或者最前,其余记录单独排序

MySQL中的field()函数,可以用来对SQL中查询结果集进行指定顺序排序。
函数使用格式如下:
order by (str,str1,str2,str3,str4……),str与str1,str2,str3,str4比较,其中str指的是字段名字,
意为:字段str按照字符串str1,str2,str3,str4的顺序返回查询到的结果集。如果表中str字段值不存在于str1,str2,str3,str4中的记录,放在结果集最前面返回。

1.按 age值 25 15 的顺序排序,值相同则按修改时间排序

select  * from user t ORDER BY FIELD(t.age,25,15) asc,t.age asc

2.将 age= 15 的记录排在最后,其余的记录按修改时间排序

select  * from user t ORDER BY FIELD(t.age,15) asc,t.age asc

3.将age= 15 的记录排在最前面,其余的记录按修改时间排序

select  * from user t ORDER BY FIELD(t.age,15) desc,t.age asc
posted @ 2022-05-30 23:34  小海葵  阅读(2274)  评论(0编辑  收藏  举报