Php 按相反顺序选择
我有一个MySql表,它由两个基本内容组成: id和一个值。 为了在我的页面上显示这一点,我需要按相反的顺序选择最后100行。 假设有人在上面放数据: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`.`
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取回,如果这真的重要的话,您可以再次进行排序。