场景
有这样一张表,分页查询时,第一页的记录又出现下第二页中,总之每一页会出现之前出现的内容。原因是 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 或者用户输入时保证其唯一性。