鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ 關(guān)聯(lián)多表,order by 加limit分頁(yè),數(shù)據(jù)重復(fù)的問(wèn)題

關(guān)聯(lián)多表,order by 加limit分頁(yè),數(shù)據(jù)重復(fù)的問(wèn)題

公司做共享充電,有一個(gè)業(yè)務(wù)是查詢?cè)O(shè)備的充電頻次,查詢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
問(wèn)題來(lái)了,當(dāng)times相同的時(shí)候,數(shù)據(jù)就會(huì)開(kāi)始重復(fù),如上limit 12,10和limit 13,10數(shù)據(jù)有很多是重復(fù)的,網(wǎng)上查了下,order by再加一個(gè)字段依然無(wú)法解決問(wèn)題,曾經(jīng)order by times,c.id,order by times,a.device_id,order by times,c.device_id,

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

回答
編輯回答
心上人

是你對(duì)limit沒(méi)有理解?!
limit后面兩個(gè)數(shù)字,offsetcount, 意思分別的偏移數(shù)量
limit 12,10 和limit 13,10 得有九條重復(fù)的吧?

mysql-limit-offset.jpg

2017年4月4日 21:51