如何从MySQL中选择最后10行
要从MySQL中选择最后10行,可以使用带有SELECT语句和 Limit 概念的子查询。以下是一个示例。
创建一个表。
mysql> create table Last10RecordsDemo
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.75 sec)
插入记录 到表中。
mysql> insert into Last10RecordsDemo values(1,'John'),(2,'Carol'),(3,'Bob'),(4,'Sam'),(5,'David'),(6,'Taylor');
Query OK, 6 rows affected (0.12 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> insert into Last10RecordsDemo values(7,'Sam'),(8,'Justin'),(9,'Ramit'),(10,'Smith'),(11,'Clark'),(12,'Johnson');
Query OK, 6 rows affected (0.14 sec)
Records: 6 Duplicates: 0 Warnings: 0
显示所有记录。
mysql> select *from Last10RecordsDemo;
以下是输出结果。
+------+---------+
| id | name |
+------+---------+
| 1 | John |
| 2 | Carol |
| 3 | Bob |
| 4 | Sam |
| 5 | David |
| 6 | Taylor |
| 7 | Sam |
| 8 | Justin |
| 9 | Ramit |
| 10 | Smith |
| 11 | Clark |
| 12 | Johnson |
+------+---------+
12 rows in set (0.00 sec)
下面是从表中获取最后10条记录的语法。在这里,我们使用了 ** LIMIT** 子句。
SELECT * FROM (
SELECT * FROM yourTableName ORDER BY id DESC LIMIT 10
)Var1
ORDER BY id ASC;
现在让我们实现上述查询。
mysql> SELECT * FROM (
-> SELECT * FROM Last10RecordsDemo ORDER BY id DESC LIMIT 10
-> )Var1
->
-> ORDER BY id ASC;
以下是显示最后10个记录的输出。
+------+---------+
| id | name |
+------+---------+
| 3 | Bob |
| 4 | Sam |
| 5 | David |
| 6 | Taylor |
| 7 | Sam |
| 8 | Justin |
| 9 | Ramit |
| 10 | Smith |
| 11 | Clark |
| 12 | Johnson |
+------+---------+
10 rows in set (0.00 sec)
我们可以通过使用SELECT语句来匹配这两条记录。