mysql中排序再分页 数据重复

使用MySQL的limit进行分页时,例如 select  * from table_1 where 1=1 limit m,nmysql

这样后面的页可能会出现重复数据,这时能够经过加入order by 子句来解决这种状况, select * from table_1  where 1=1 order by field_1 limit m,nsql

可是这里须要特别注意,若是field_1字段有相同值的状况下,后面的页仍是会出现重复数据,这时能够加入第二个排序字段(值惟一),能够选主键id,.net

对应的sql语句是select * from table_1  where 1=1 order by field_1 , id limit m,n排序

可是最好保证field_1在表中的值是惟一的,这样就能够少写一个排序字段,增长查询效率,由于在只有一个排序字段的状况下,mysql会使用索引,若是是有多个排序字段的话,mysql会放弃索引作全表扫描。索引

相关文章
相关标签/搜索