SQL ORDER有条件地按列加第二列

问题描述 投票:0回答:1

我需要做一个涉及几种情况的SQL命令...

我首先需要按列到期时间(纪元字符串)进行排序,该字段大于现在,或者为空(未到期)。

因此,过期的记录(那些过期时间少于现在的记录将始终在未过期的记录之后。

然后在每种情况下,需要进行按字母顺序的次级搜索。

tTABLEID名称到期有效

到目前为止我的尝试:

select * from `tTABLE` WHERE `active`='1' 
ORDER BY 
CASE WHEN `expiry` > 1571410101 THEN 1
CASE WHEN `expiry` = '' THEN 2 ELSE 3 END,`expiry`
DESC
mysql sql sql-order-by case-when
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.