mysql 根据固定逻辑排序

本文深入探讨了SQL中两种实用的排序方法:一是使用FIELD函数进行固定状态排序,通过指定顺序实现特定字段的排序;二是时间分布排序,巧妙利用时间与ID结合,实现不同日期与同一日期内数据的有序排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.按固定状态排序

select * from table_a order by FIELD (status,‘1,3,2,4’)

select * from table_a order by FIELD (status,‘A,C,B,D’)
这里的field 关键字 ,是吧第二个参数的顺序记录下来,并且按照其中的固定顺进行排序

1.按时间分部排序
大于今天的排前面 ,小于的排后面,相同时间按id倒序

select * from table_b order by create_time <= now() asc , id desc

这里把时间当成一个条件,如果时间小于今天 那么条件成立,结果为1 ,但是这里的排序是升序,那么就是从0-1排序,自然大于今天的就排在前面,如果时间相同,后面会根据id排序,前面顺序不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值