有条件的Sql语句顺序?

时间:2015-09-18 09:11:01

标签: mysql sql

此myTable显示所有行order by no asc

enter image description here

我的问题是,我想用自定义order by显示所有行, 部分第一行的数据与当前日期相同(使用2015-09-18作为当前日期),之后请根据最小数量自定义行,自定义order by将从5,4,1,2,3开始排序。

我是如何用sql语句实现的?感谢。

1 个答案:

答案 0 :(得分:4)

SELECT *
FROM table
ORDER BY 
    CASE
        WHEN date(date) = curdate() THEN no * (-1) -- when date is current date, sort descending (ascending by negative ID, to reverse order)
        ELSE no -- else keep default ascending sort order
    END