SQL特殊操作

一、特殊排序

1、MySQL 将某个字段值的记录排在最后或者最前,其余记录单独排序
select  * from user t ORDER BY FIELD(t.age,25,15) asc,t.age asc select  * from user t ORDER BY FIELD(t.age,15) asc,t.age asc select  * from user t ORDER BY FIELD(t.age,15) desc,t.age asc

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值