资讯专栏INFORMATION COLUMN

order by造成分页查询的记录重复

chenjiang3 / 1372人阅读

摘要:场景有这样一张表,分页查询时,第一页的记录又出现下第二页中,总之每一页会出现之前出现的内容。原因是值重复分析在数据库中使用查询语句第一页第二页第三页查询结果在第一页和第二页出现了重复的记录。原因的值重复了解决方法用来的字段要保证唯一性。

场景

有这样一张表,分页查询时,第一页的记录又出现下第二页中,总之每一页会出现之前出现的内容。原因是sort值重复

分析

在数据库(PostgreSQL)中使用查询语句:
第一页:
SELECT code,name,sort FROM plat_user ORDER BY sort ASC limit 10 offset 0;
第二页:
SELECT code,name,sort FROM plat_user ORDER BY sort ASC limit 10 offset 10;
第三页:
SELECT code,name,sort FROM plat_user ORDER BY sort ASC limit 10 offset 20;

查询结果:在第一页和第二页出现了重复的记录。

原因

sort的值重复了

解决方法

用来order by的字段要保证唯一性。比如加上UNIQUE或者用户输入时保证其唯一性。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39042.html

相关文章

  • MySQL 索引原理与应用:索引类型,存储结构与锁

    摘要:索引的原理与应用索引类型,存储结构与锁在数据结构与算法索引一节中,我们讨论了这样的文件索引以及全文索引的基础算法,本文则会针对文件索引在关系型数据库中的实际应用进行探讨。这个索引的是数据表的主键,因此表数据文件本身就是主索引。 showImg(https://segmentfault.com/img/remote/1460000018453572?w=1280&h=554); 本文节选...

    ephererid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<