mysq带条件的分页查询数据结果错误

时间:2024-11-10 20:36:14

记一次mysql分页条件查询的结果出错:

以一张用户表为例,首先我们看表中的所有数据,注意红色框住的部分:

mysq带条件的分页查询数据结果错误

我们使用不带条件的分页查询来查询,数据显示是OK的:

SELECT id,login_name,create_time FROM tb_user LIMIT 0,10

mysq带条件的分页查询数据结果错误

当我们使用带条件的分页查询来查询,第一张图红色框住的数据会丢失(这些数据在所有的分页查询结果中都不显示):

SELECT id,login_name,create_time FROM tb_user WHERE login_name != 'admin' LIMIT 0,10

mysq带条件的分页查询数据结果错误

问题的解决:

mysql带条件的分页查询一定要排序,否则会出错,修改sql如下:

SELECT id,login_name,create_time FROM tb_user WHERE login_name != 'admin' ORDER BY create_time  LIMIT 0,10

mysq带条件的分页查询数据结果错误

PS: 如果没有where条件,mysql会采用默认的排序方式,不会出错,但如果有查询条件,mysql分页排序可能会出错,所以分页最好加上 order by!