[英]MySQL Order by Date, with NULL first
我有一个select语句,我想从表中选择1条记录。 结构是:
id | start_time
--------------
1 NULL
2 2014-08-23
3 2014-09-01
我想选择具有NULL开始时间的项目,但如果不存在,我希望它选择最新的start_time
。 我尝试过使用带有LIMIT 1
ORDER
,但是使用ORDER BY start_time
要么首先给出NULL,然后是最早的启动,要么是最新的启动然后是NULL。 是否可以得到结果顺序1,3,2
?
您可以使用两个排序表达式来获得所需的顺序:
select t.*
from table t
order by (start_time is null) desc,
start_time desc
limit 1;
您可以有两个不同的ORDER BY
表达式:
SELECT * from table ORDER BY (start_time IS NULL) DESC, start_time DESC;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.