MySQL在分页查询中出现数据重复

        有时候分页查询时会中出现重复数据,一般都是相邻的两页有部分数据重复,经过刷新后,这部分数据又有可能不重复,然而查询出来的总数是正确的,因为主键都是一样的,所以数据库中数据是正确的。那么先看看那些重复数据有什么相同点。

        经发现容易出现重复的数据,它的时间都是非常相近的。那么再看看分页的sql语句

	<select id="list" resultType="Member">
		select
		<include refid="columns" />
		from user_member where isDelete=0
		<if test="keywords != null">
			and (mobile like CONCAT('%',#{keywords},'%') or name like CONCAT('%',#{keywords},'%'))
		</if>
		<if test="endTime != null">
			and createTime <= #{endTime}
		</if>
		<if test="startTime != null">
			and createTime >= #{startTime}
		</if>
		<if test="roleType != null">
			and roleType = #{roleType}
		</if>
		<if test="roleTypeList != null">
			and roleType in 
			<foreach collection="roleTypeList" index="index" item="item" open="("
			     separator="," close=")">
			     #{item}
		    </foreach>
		</if>
		order by updateTime desc
		<if test="count != null">
			limit #{count}
		</if>
	</select>
原因:order by updataTime desc查询的数据重复了,所以改为order by updateTime desc ,id desc即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值