Mysql按两列(主要和次要)排序

时间:2016-07-06 16:52:46

标签: mysql sql-order-by

我有一个表格,我希望按日期(end)按降序选择数据,然后按key重新排序。

SELECT * FROM `payschedule`
WHERE `end` <= CURDATE()
ORDER BY `end` DESC,
`key` ASC
LIMIT 3

例如,如果我有:

key   end
1     2014...
2     2015...
3     2016...
4     2017...
5     2018... // current date

我的查询应该返回:

3    2016
4    2017
5    2018

1 个答案:

答案 0 :(得分:0)

您可以使用子查询:

SELECT * from 
(
SELECT * FROM `payschedule`
WHERE `end` <= CURDATE()
ORDER BY `end` DESC
LIMIT 3
) t
order by `key` ASC

Here is an example