鍍金池/ 問答/數據庫/ 關聯(lián)多表,order by 加limit分頁,數據重復的問題

關聯(lián)多表,order by 加limit分頁,數據重復的問題

公司做共享充電,有一個業(yè)務是查詢設備的充電頻次,查詢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,

有大佬們知道怎么解決嗎?

回答
編輯回答
心上人

是你對limit沒有理解?!
limit后面兩個數字,offsetcount, 意思分別的偏移數量
limit 12,10 和limit 13,10 得有九條重復的吧?

mysql-limit-offset.jpg

2017年4月4日 21:51