在Mysql上选择逆序

Iva*_*del 1 php mysql

我有一个 MySql 表,由 2 个基本内容组成:id 和值。为了在我的页面上显示这一点,我需要以相反的顺序选择最后 100 行。想象一下有人正在上面放数据:

Id, value
1, 10
2, 9
3, 21
4, 15
Run Code Online (Sandbox Code Playgroud)

我需要选择最后“3”行(LIMIT + ORDER 子句),但不是这样:4,3,2,而是这样:2,3,4。

我知道如何在代码上做到这一点,但也许在 Mysql 上有一个简单的解决方案,但我不知道。谢谢

我的 SQL 查询现在是这样的:

SELECT `Data`.`id`, `Data`.`log_id`, `Data`.`value`, `Data`.`created` FROM `control_panel`.`datas` AS `Data` WHERE `Data`.`id` > 1000 AND `Data`.`log_id` = (2) ORDER BY `Data`.`id` DESC LIMIT 100
Run Code Online (Sandbox Code Playgroud)

Zan*_*ien 5

您需要将第一个ORDER BY包裹在子选择中,该子选择将返回按降序排列的有限选择,然后您可以按升序对外部查询结果进行排序:

SELECT
    a.*
FROM
    (
        SELECT id, value
        FROM tbl
        ORDER BY id DESC
        LIMIT 3
    ) a
ORDER BY
   a.id
Run Code Online (Sandbox Code Playgroud)