从MySQL选择最后N行

我想在名为id的列(主键)中从MySQL数据库中选择最后50行。目标是行应该被分类ID在ASC秩序,这就是为什么这个查询不工作


SELECT 

    *

FROM

    `table`

ORDER BY id DESC

LIMIT 50;

同样值得注意的是,可以对行进行操作(删除),这就是为什么以下查询也不起作用的原因


SELECT 

    *

FROM

    `table`

WHERE

    id > ((SELECT 

            MAX(id)

        FROM

            chat) - 50)

ORDER BY id ASC;

问题:如何从MySQL数据库中检索可以操纵并按ASC顺序排列的最后N行?


弑天下
浏览 644回答 3
3回答

繁花不似锦

您可以使用子查询来做到这一点:SELECT * FROM (    SELECT * FROM table ORDER BY id DESC LIMIT 50) subORDER BY id ASC这将从中选择最后 50行table,然后按升序对其进行排序。

梦里花落0921

SELECT * FROM table ORDER BY id DESC,datechat desc LIMIT 50如果您有一个日期字段,用于存储发送聊天的日期(和时间),或者任何每行填充有增量(按DESC排序)或非增量(按ASC排序)数据的字段,请将该字段作为第二列哪些数据应该排序。那对我有用!!!希望对您有所帮助!!!!

慕斯709654

select * from Table ORDER BY id LIMIT 30注意:* id应该是唯一的。*您可以通过替换30查询中的来控制返回的行数
打开App,查看更多内容
随时随地看视频慕课网APP