Php 按相反顺序选择

Php 按相反顺序选择,php,mysql,Php,Mysql,我有一个MySql表,它由两个基本内容组成: id和一个值。 为了在我的页面上显示这一点,我需要按相反的顺序选择最后100行。 假设有人在上面放数据: Id, value 1, 10 2, 9 3, 21 4, 15 我需要,选择最后的“3”行(LIMIT+ORDER子句),但不是这样:4,3,2,而是这样:2,3,4 我知道如何在代码上做到这一点,但在Mysql上可能有一个简单的解决方案,我不知道。 谢谢 我的SQL查询现在是这样的: SELECT `Data`.`id`, `Data`.`

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

Id, value
1, 10
2, 9
3, 21
4, 15
我需要,选择最后的“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

一种方法是使用子选择

SELECT *
FROM (SELECT * FROM table_name ORDER BY id DESC LIMIT 3) tmp
ORDER BY id ASC

一种方法是使用子选择

SELECT *
FROM (SELECT * FROM table_name ORDER BY id DESC LIMIT 3) tmp
ORDER BY id ASC

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

SELECT
    a.*
FROM
    (
        SELECT id, value
        FROM tbl
        ORDER BY id DESC
        LIMIT 3
    ) a
ORDER BY
   a.id

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

SELECT
    a.*
FROM
    (
        SELECT id, value
        FROM tbl
        ORDER BY id DESC
        LIMIT 3
    ) a
ORDER BY
   a.id
简单地

 SELECT t.*
 (SELECT * FROM table_name 
      ORDER BY column_name DESC 
      LIMIT 0,3) t
 ORDER BY t.column_name ASC
使用
DESC
进行降序,使用
ASC
进行升序

 SELECT t.*
 (SELECT * FROM table_name 
      ORDER BY column_name DESC 
      LIMIT 0,3) t
 ORDER BY t.column_name ASC

使用
DESC
按降序排列,
ASC
按升序排列

限制子句将执行我不想执行的操作。。。按相反顺序获取限制与顺序无关限制子句将执行我不想执行的操作。。。按相反顺序获取限制与顺序无关,但我将按相反顺序获取行。。。如何在Mysql上反转它?或者,
ORDER BY
不能给你
ASC
或者
DESC
正确的方法是使用DESC,但是我会得到这个id的顺序:4,3,2而不是2,3,4@IvanSeidel,以得到2,3,4,如果这真的很重要的话,也许你可以再做一次排序。但我将以相反的顺序得到行。。。如何在Mysql上反转它?或者,
ORDER BY
不能给你
ASC
或者
DESC
正确的方法是使用DESC,但是我会得到这个id的顺序:4,3,2而不是2,3,4@IvanSeidel,将2,3,4取回,如果这真的重要的话,您可以再次进行排序。