記一次mysql分頁條件查詢的結果出錯:mysql
以一張用戶表爲例,首先咱們看錶中的全部數據,注意紅色框住的部分:sql
咱們使用不帶條件的分頁查詢來查詢,數據顯示是OK的: spa
SELECT id,login_name,create_time FROM tb_user LIMIT 0,103d
當咱們使用帶條件的分頁查詢來查詢,第一張圖紅色框住的數據會丟失(這些數據在全部的分頁查詢結果中都不顯示): blog
SELECT id,login_name,create_time FROM tb_user WHERE login_name != 'admin' LIMIT 0,10排序
問題的解決:分頁
mysql帶條件的分頁查詢必定要排序,不然會出錯,修改sql以下:im
SELECT id,login_name,create_time FROM tb_user WHERE login_name != 'admin' ORDER BY create_time LIMIT 0,10數據
PS: 若是沒有where條件,mysql會採用默認的排序方式,不會出錯,但若是有查詢條件,mysql分頁排序可能會出錯,因此分頁最好加上 order by!查詢