我有一个表,我想按日期(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

最佳答案

可以使用子查询:

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

Here is an example

关于mysql - Mysql按主列和辅助列两列排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38229472/

10-11 22:43
查看更多