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;