📅  最后修改于: 2023-12-03 15:33:03.966000             🧑  作者: Mango
在 MySQL 中,我们可以使用 SELECT
语句来选择行数据。如果你要选择最后 10 行,有几种方法可以做到。
LIMIT
和 ORDER BY
最常见的方法是使用 LIMIT
和 ORDER BY
子句来按逆序排序行数据并限制结果集为前 10 行。
SELECT * FROM table_name ORDER BY id DESC LIMIT 10;
这将返回 table_name
表的最后 10 行,按照 ID 列的逆序排序。
LIMIT
和 OFFSET
另一种方法是使用 LIMIT
和 OFFSET
子句来跳过前面的数据并限制结果集为后 10 行。
SELECT * FROM table_name ORDER BY id DESC LIMIT 10 OFFSET (SELECT COUNT(*) FROM table_name) - 10;
这将返回 table_name
表的最后 10 行,不需要排序。
ROW_NUMBER()
和子查询还可以使用 ROW_NUMBER()
函数来为每一行分配一个行号,并使用子查询将行号降序排序。
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY id DESC) AS row_number FROM table_name
) AS subquery
WHERE row_number <= 10;
这将返回 table_name
表的最后 10 行,按照 ID 列的逆序排序。
无论你选择哪种方法,都可以轻松地选择 MySQL 表的最后 10 行数据。