使用mysql的limit進行分頁時出現重複問題

2021-06-23 05:04:34 字數 459 閱讀 8396

使用mysql的limit進行分頁時,例如 select  * from table_1 where 1=1 limit m,n

這樣後面的頁可能會出現重複資料,這時可以通過加入order by 子句來解決這種情況, select * from table_1  where 1=1 order by field_1 limit m,n

但是這裡需要特別注意,如果field_1欄位有相同值的情況下,後面的頁還是會出現重複資料,這時可以加入第二個排序字段(值唯一),可以選主鍵id,

對應的sql語句是select * from table_1  where 1=1 order by field_1 , id limit m,n

但是最好保證field_1在表中的值是唯一的,這樣就可以少寫乙個排序字段,增加查詢效率,因為在只有乙個排序欄位的情況下,mysql會使用索引,如果

是有多個排序字段的話,mysql會放棄索引做全表掃瞄。

MySQL中使用LIMIT進行分頁的方法

客戶端通過傳遞start 頁碼 pagesize 每頁顯示的條數 兩個引數去分頁查詢資料庫表中的資料,那我們知道mysql資料庫提供了分頁的函式limit m,n,但是該函式的用法和我們的需求不一樣,所以就需要我們根據實際情況去改寫適合我們自己的分頁語句,具體的分析如下 比如 查詢第1條到第10條的...

MySQL中使用LIMIT進行分頁的方法

客戶端通過傳遞start 頁碼 pagesize 每頁顯示的條數 兩個引數去分頁查詢資料庫表中的資料,那我們知道mysql資料庫提供了分頁的函式limit m,n,但是該函式的用法和我們的需求不一樣,所以就需要我們根據實際情況去改寫適合我們自己的分頁語句,具體的分析如下 比如 查詢第1條到第10條的...

MySQL中使用LIMIT進行分頁的方法

客戶端通過傳遞start 頁碼 pagesize 每頁顯示的條數 兩個引數去分頁查詢資料庫表中的資料,那我們知道mysql資料庫提供了分頁的函式limit m,n,但是該函式的用法和我們的需求不一樣,所以就需要我們根據實際情況去改寫適合我們自己的分頁語句,具體的分析如下 比如 查詢第1條到第10條的...