没有DESC的MySQL逆序

Qia*_*iao 6 mysql

SELECT id FROM table LIMIT 8,3

结果是8,9,10

但我需要10,9,8

你怎么能这样做?如果添加"ORDER BY id DESC",它将获得3,2,1

Mar*_*ers 6

将查询放在子选择中,然后在外部选择中反转顺序:

SELECT id from (
    SELECT id FROM table ORDER BY id LIMIT 8, 3
) AS T1 ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)

测试数据:

CREATE TABLE table1 (id INT NOT NULL);
INSERT INTO table1 (id) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11);

SELECT id from (
    SELECT id FROM table1 ORDER BY id LIMIT 8, 3
) AS T1 ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)

结果:

10
9
8
Run Code Online (Sandbox Code Playgroud)

请注意,子查询中的ORDER BY是必需的,否则订单是未定义的.感谢Lasse指出这一点!