如何從 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 語句匹配這兩條記錄。

總記錄(12 條)

12 Records

最後 10 條記錄(10 條)

10 Records

更新日期:2023 年 9 月 12 日

3.5 萬 + 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始吧
廣告
© . All rights reserved.