mysql中排序再分页 数据重复

使用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会放弃索引做全表扫描。

转载于:https://my.oschina.net/u/574036/blog/827776

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值