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

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

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

       

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

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

         

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

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

        

  问题的解决:

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

              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!

             

        

原文地址:https://www.cnblogs.com/huaixiaonian/p/10270320.html