一、基本用法
mysql分頁基本語法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
可以接收一個或者兩個參數,參數必須為整數。
1、給定一個參數:表示的是返回記錄數的最大行數
2、給定兩個參數:第一個參數表示返回記錄行的偏移量,注意偏移量從0開始
第二個參數表示返回的記錄行數
二、實際開發常用
由上面的基本分頁方法,可知:
select * from table limit 0,10; //表示查詢第一頁的10條數據,也就是第1 -10條數據
select * from table limit 10,10; //表示查詢第二頁的10條數據,也就是第11-20條數據
select * from table limit 20,10; //表示查詢第三頁的10條數據,也就是第21-30條數據。
但是項目環境中,一般傳到后台服務中的數據是:currentPage(當前頁數,一般從1開始)和 pageSize(記錄行數),所以,在實際應用到sql中的時候,必須經過換算頁碼來進行分頁查詢。
通用的換算:select * from table limit (currentPage-1)*pageSize,pageSize。
三、說明
MySQL處理分頁的時候,一般的邏輯是:
limit 10,10 - 查詢出 10 + 10 條數據,然后丟棄掉前 10 條。
limit 20,10 - 查詢出 20 + 10 條數據,然后丟棄掉前 20 條。