欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL时间范围排序

程序员文章站 2022-06-07 13:18:22
...

背景:查询一个表的活动信息,排序方式 活动期间 > 未开始活动 > 已结束活动

SELECT * FROM activity t where deleteFlag = 0 
order by
(case when t.beginTime <= now() and now() < t.endTime then 1 else 0 end) desc,
(case when t.beginTime > now() then 1 else 0 end) desc,
(case when t.endTime > now() then 1 else 0 end) desc;