关联多表,order by 加limit分页,数据重复的问题
公司做共享充电,有一个业务是查询设备的充电频次,查询SQL如下。
SELECT b.title,
a.device_id,
a.user_id,
COUNT(c.device_id) AS times,
b.address,
a.remark
FROM(
SELECT device_id, user_id, remark, address_id
FROM device_manage
WHERE user_id =100020) a
INNER JOIN device_address b ON a.address_id= b.id and b.title like '%澜庭大酒店%'
LEFT JOIN charge_bill c ON a.device_id= c.device_id
and pay_time>= '2017-12-27'
and pay_time<'2018-01-26'
GROUP BY a.device_id
ORDER BY times DESC limit 12,10
以上是原SQL
问题来了,当times相同的时候,数据就会开始重复,如上limit 12,10和limit 13,10数据有很多是重复的,网上查了下,order by再加一个字段依然无法解决问题,曾经order by times,c.id,order by times,a.device_id,order by times,c.device_id,
有大佬们知道怎么解决吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是你对limit没有理解?!
limit后面两个数字,
offset
和count
, 意思分别的偏移
和数量
limit 12,10 和limit 13,10 得有九条重复的吧?