使用mysql的limit进行分页时出现重复问题
2014-08-13 15:27
501 查看
使用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 子句来解决这种情况, 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会放弃索引做全表扫描。
相关文章推荐
- 使用mysql的limit进行分页时出现重复问题
- mysql 5.6 order by limit 排序分页数据重复问题
- kettle3使用mysql5.6出现OPTION SQL_SELECT_LIMIT=1的问题
- 在MySQL中使用LIMIT进行分页的方法
- 使用hibernate代替mysql中limit进行分页
- MySQL中使用LIMIT进行分页的方法
- 在MySQL中使用LIMIT进行分页的方法
- 解决Mysql数据量大的时候 分页优化(使用limit)的问题
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 如何配置mysql出现了问题,我建议使用PHPnow绿色版
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 使用Junit4进行单元测试没法实现@BeforeClass注解及出现application.xml没法加载问题
- 解决MySQL在使用命令时中文字符出现乱码的问题
- IE下使用form表单提交到iframe中出现的重复提交问题
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 关于mysql导出数据库后,再进行还原时,视图无法使用的问题,请各位大神帮忙出招
- 在使用SSIS设计脚本时候,出现的在PostExecute之外不能锁定变量集合进行读写访问的问题的解决
- jsp servlet mysql fckeditor等配合使用时出现中文乱码的解决问题!
- 使用juery treeview 出现的点击文本不进行展开的问题