MySQL按日期排序,首先为空
我有一个select语句,我想从表中选择一条记录。结构如下:MySQL按日期排序,首先为空,mysql,sql,Mysql,Sql,我有一个select语句,我想从表中选择一条记录。结构如下: id | start_time -------------- 1 NULL 2 2014-08-23 3 2014-09-01 我希望选择起始时间为空的项目,但如果不存在,我希望它选择最新的起始时间。我曾尝试将顺序与限制1一起使用,但使用按开始时间排序会首先给出NULL,然后是最早的开始,或者最晚的开始然后是NULL。是否可以使用结果顺序1,3,2?您可以使用两个排序表达式来获得所需的顺序: select t.*
id | start_time
--------------
1 NULL
2 2014-08-23
3 2014-09-01
我希望选择起始时间为空的项目,但如果不存在,我希望它选择最新的
起始时间
。我曾尝试将顺序
与限制1
一起使用,但使用按开始时间排序
会首先给出NULL,然后是最早的开始,或者最晚的开始然后是NULL。是否可以使用结果顺序1,3,2
?您可以使用两个排序表达式来获得所需的顺序:
select t.*
from table t
order by (start_time is null) desc,
start_time desc
limit 1;
您可以有两个不同的
排序依据表达式:
从表中按顺序选择*(开始时间为空)DESC,开始时间DESC;