mar*_*arc 14 php mysql sql sql-order-by
欢迎,
我想知道是否可以在"按顺序排序"排序时反转返回的数据,但我希望这些数据的顺序相反.
例如,我得到了包含值的表
ID
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
我做到了
按照ID ASC LIMIT 3的顺序,我得到了
1
2
3
Run Code Online (Sandbox Code Playgroud)
当我通过ID DESC限制3订购时,我得到
4
3
2
Run Code Online (Sandbox Code Playgroud)
我想拥有
3
2
1
Run Code Online (Sandbox Code Playgroud)
所以我想通过ASC订购但反转结果.我一直在使用array_reverse在PHP端做这个,但今天我想问你.Maybye我错了,我只能在Mysql中做到这一点.问候
Mch*_*chl 25
SELECT *
FROM (
SELECT ...
FROM ...
ORDER BY ID ASC
LIMIT 3
) AS sq
ORDER BY ID DESC
Run Code Online (Sandbox Code Playgroud)
把它想象成两个步骤.首先,它执行内部查询:选择3个ID最低的记录.然后在外部查询中按降序对它们进行排序.
您可以使用子查询获取前三行,然后在外部查询中反转这些行的顺序:
SELECT *
FROM
(
SELECT *
FROM yourtable
ORDER BY ID
LIMIT 3
) T1
ORDER BY ID DESC
Run Code Online (Sandbox Code Playgroud)