您的位置:首页 > 数据库 > MySQL

mysql中排序再分页 数据重复

2017-01-19 00:00 686 查看
使用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会放弃索引做全表扫描。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  order by limit