PHP MySQL按第一列排序,如果是第二个NULL

时间:2017-04-01 16:29:28

标签: mysql

我有桌子:

id  |  post_date  |  bumped_post_date
1   |    date     |       NULL
2   |    date     |       date2

好的,我知道如何按post_date订购,但仅当post_date NULL 时才按bumped_post_date订购。

bumped_post_date不为NULL时,则按顺序排序,而不是按post_date排序(但如果为NULL,则按post_date排序)。谢谢,抱歉我的英语不好。

3 个答案:

答案 0 :(得分:2)

你可以使用案例

select * from my_table 
order by case when  bumped_post_date is null 
            then post_date else bumped_post_date end

答案 1 :(得分:2)

ORDER BY COALESCE( bumped_post_date, post_date )

Coalesce()函数返回第一个非null参数。

答案 2 :(得分:1)

您可以在CASE

中使用ORDER BY
select *
from your_table
order by case 
        when bumped_post_date is not null
            then bumped_post_date
        else post_date
        end;