欢迎,
我想知道是否可以在“按顺序排序”排序时反转返回的数据,但我希望这些数据的顺序相反。
例如,我得到了值为
的表格ID
1
2
3
4
我做了
按照ASC LIMIT 3的顺序排序 我得到了
1
2
3
当我根据ID DESC限制3进行排序时 我得到
4
3
2
我想
3
2
1
所以我想通过ASC订购但反转结果。 我一直在使用array_reverse在PHP端做这个,但今天我想问你。 Maybye我错了,我只能在Mysql中做到这一点。 此致
答案 0 :(得分:25)
SELECT *
FROM (
SELECT ...
FROM ...
ORDER BY ID ASC
LIMIT 3
) AS sq
ORDER BY ID DESC
将其视为分两步完成。首先,它执行内部查询:选择3个ID最低的记录。然后在外部查询中按降序对它们进行排序。
答案 1 :(得分:5)
您可以使用子查询获取前三行,然后在外部查询中反转这些行的顺序:
SELECT *
FROM
(
SELECT *
FROM yourtable
ORDER BY ID
LIMIT 3
) T1
ORDER BY ID DESC
答案 2 :(得分:4)
答案 3 :(得分:2)
您可以使用子查询执行此操作:
SELECT * FROM
(SELECT * FROM myTable ORDER BY idMyTable LIMIT 0, 3) AS r
ORDER BY r.idMyTable DESC
资源:
答案 4 :(得分:0)
您可以使用外部SELECT
来颠倒顺序:
SELECT *
FROM (
SELECT …
ORDER BY id ASC
LIMIT 3
) sub
ORDER BY id DESC