记一次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!查询