如何从 mysql 表中选择最后但 10 行

use*_*367 2 mysql syntax row limit

我想运行这个查询

select *
from  table
order asc
limit N;
Run Code Online (Sandbox Code Playgroud)

其中 N 是总行数减去 10。

SELECT COUNT(*) FROM (SELECT * FROM table)
Run Code Online (Sandbox Code Playgroud)

返回总数为 189,因此,在这种情况下,我希望我的限制为 179

Gol*_*rol 5

如果顺序不重要,您可以使用以下偏移量limit

请注意,“直到表结束”没有实际值。在MySQL的文档建议使用“一些大量的”第二个参数。

SELECT *
FROM table1
order by ID DESC
LIMIT 10, 999999999999999
Run Code Online (Sandbox Code Playgroud)

如果您确实希望按升序排列,则可以在之后应用不同的排序:

SELECT 
  * 
FROM
  (SELECT *
  FROM table1
  ORDER BY ID DESC
  LIMIT 10, 999999999999999) x
ORDER BY
  ID ASC
Run Code Online (Sandbox Code Playgroud)