MySQL条件排序

时间:2014-06-25 03:26:16

标签: mysql

可以这样排序吗?

未排序

TIMEIN                TIMEOUT
null                  6/19/2014 12:00:00
6/19/2014 08:30:00    6/19/2014 10:30:00
6/19/2014 13:00:00    null
6/19/2014 19:06:00    6/19/2014 20:36:00 

排序

TIMEIN                TIMEOUT
6/19/2014 08:30:00    6/19/2014 10:30:00
null                  6/19/2014 12:00:00
6/19/2014 13:00:00    null
6/19/2014 19:06:00    6/19/2014 20:36:00 

列表按TIMEIN降序排序。如果TIMEIN为NULL,则TIMEOUT将成为排序的基础,无需重新排序' TIMEIN desc'。

2 个答案:

答案 0 :(得分:3)

ORDER BY IFNULL(TIMEIN, TIMEOUT) DESC

答案 1 :(得分:2)

在MySQL中有一个名为COALESCE的便捷函数,您可以直接进入ORDER BY子句。

Here是它的文件 Here就是一个例子

以下是您可以添加到SQL中的内容:

ORDER BY COALESCE(TIMEIN, TIMEOUT) DESC