mysql order by if函数_mysql排序之ORDER BY IF、ORDER BY配合IN、TIMESTAMPDIFF、TIMESTAMPADD、FIELD...

1、order by if 排序

SELECT * FROM pet ORDER BY if (species='snake',0,1),species;--species为snake的行数放置到了查询结果开头,再按照spercies排序;snake的这一行放在查询结果尾部用SELECT * FROM pet ORDER BY if(species='snake',0,1) DESC,species,默认是ASC,可以不写

1009992d64060c39efff6c559f02988b.png

2、order by配合in

SELECT * FROM pet ORDER BY birth IN('1993-02-04','1989-05-13'),birth;

aa8b18e3a09003413635ad80acc40d2d.png

3、TIMESTAMPDIFF计算两个日期的时间差函数

SELECT TIMESTAMPDIFF(SECOND,'2009-12-01 09:00:00','2009-12-01 09:00:50'); --FRAC_SECOND毫秒,SECOND秒,MINUTE分钟,HOUR小时,DAY天,WEEK星期,MONTH月,QUARTER季度,YEAR年

563934ec201ba584ff6ff3c2cd6e6ec6.png

4、TIMESTAMPADD将时间差添加到日期时间表达式中

SELECT TIMESTAMPADD(SECOND,50,'2009-12-01 09:00:00');

54d3aac6a29a4af197128a2c10266c73.png

5、FIELD可以用来对SQL中查询结果集进行指定顺序排序

order by (str,str1,str2,str3,str4……),str与str1,str2,str3,str4比较,其中str指的是字段名字,如果表中str字段值不存在于str1,str2,str3,str4中的记录,放在结果集最前面返回。

92874c440e37679c576bd6b869fc4f71.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值