文章目錄
- 1 概述
- 2 示例
-
- 2.1 基礎
- 2.2 分頁
- 3 擴充
-
- 3.1 取最後 10 條記錄
- 3.2 顯示行号
1 概述
1. 目的:'限制要取出來的 記錄行數'
2. 文法
(1) limit n : 前 n 條記錄 -- 等同于 0, n
(2) limit n, m : 從 n 之後,取 m 條記錄 -- 請注意,不含 n 哦,以下同理
(3) limit n offset m : 從 m 之後,取 n 條記錄 -- 等同于 m, n
2 示例
2.1 基礎
select * from table limit 3; -- 前三條記錄 1, 2, 3
select * from table limit 1, 3; -- 記錄行2-4 2, 3, 4
2.2 分頁
結論 - 格式
select *
from table
limit (pagNum- 1) * pageSize, pageSize;
-- pagNum 頁面數,從 1 開始
-- pageSize 每頁展示的記錄條數
推理示範:
-- 檢索 1 - 10 行記錄
select * from table limit 0, 10 --> select * from table limit (1 - 1) * 10, 10
-- 檢索 11 - 20 行記錄
select * from table limit 10, 10 --> select * from table limit (2 - 1) * 10, 10
-- 檢索 21 - 30 行記錄
select * from table limit 20, 10 --> select * from table limit (3 - 1) * 10, 10
3 擴充
3.1 取最後 10 條記錄
select *
from table
order by xx desc -- 增加一個 倒序 即可
limit 10;
3.2 顯示行号
-- 說明:mysql 沒有 類似 Oracle 中的 rownum
-- 但可通過自定義變量來實作
select @rownum := @rownum + 1 as rownum,
t.*
from table t,
( select @rownum := 0 ) r -- 重置 rowno 值
;