Mysql用两个参数排序相同的列

时间:2015-02-22 19:28:02

标签: mysql

我在包含data行的表格产品上有一列data

02/15/2015,
02/18/2015,
02/20/2015,
02/25/2015,
02/26/2015 (in timestamp).

如何根据此规则查询订购:

  • 如果data小于/等于02/20/2015订购数据DESC。
  • 如果data小于/等于数据ASC的02/20/2015订单。

查询结果应为:

首先是

02/25/2015
02/26/2015

第二个

02/20/2015
02/18/2015
02/15/2015

1 个答案:

答案 0 :(得分:0)

您可以在order by中使用多个条件。对于您的情况,您可以这样做:

order by (data <= '2015-02-20') desc,
         (case when data >= '2015-02-20' then data end) desc,
         (case when data < '2015-02-20' then data end) asc

第一个条件将旧数据放在第一位。第二个和第三个按照您的指定进行排序。