从SQL有序ASC中选择最后20行

时间:2016-06-27 14:50:11

标签: mysql sql

基本上我的整个问题是标题。没有太多描述。我只想从SQL命令asc。

中选择最后20行

这没有按预期工作

SELECT * FROM chat ORDER BY id ASC LIMIT 20

按升序返回第一行 20行,但我希望最后 20行按升序排列。

任何帮助都非常感激。

更新

如果我的sql看起来像这样怎么办?

SELECT username, text, date FROM chat ORDER BY id ASC LIMIT 20

1 个答案:

答案 0 :(得分:1)

一种选择是编写一个查询,提供您想要的20条记录。这将是id降序顺序查询。然后,您可以将其包装在子查询中,并在id升序顺序排序时选择。

SELECT t.*
FROM
(
    SELECT *
    FROM chat
    ORDER BY id DESC
    LIMIT 20
) t
ORDER BY t.id ASC

这是一个可以尝试的小提琴:

SQLFiddle