首页 > 上网技巧 > 电脑小技巧 > mysql使用order by排序和limit分页出现数据重复...

mysql使用order by排序和limit分页出现数据重复问题

时间:2018-08-14 10:55 作者:QQ地带 我要评论

在使用order by排序和limit的分页时候,如果order by字段设置的不妥当,就会出现数据重复的问题。
 
字段
id   int(11)
flag tinyint(1)
fans tinyint(1)
 
sql:
select * from table order by flag desc,fans desc limit n,10;
当我们正常去请求数据随着n的变化,数据就会出现交叉重复的问题。
 
 
 
出现数据重复的问题,原因是我们在order by的时候,当flag和fans字段都相等的时候,没有一个唯一的字段值进行接下来的排序,会出现数据交叉,
 
这里只要在排序后面加上id字段,作为有唯一值的字段即可。
 
sql:
select * from table order by flag desc,fans desc,id desc limit n,10;

标签: mysql
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告