簡體   English   中英

MySQL復雜查詢,按限制分組

[英]Mysql complex query, group by with limit

我有下表

store_visits: (store_id, city_id, date, visits, ...)

我想選擇按訪問次數排序的最多5家商店。

SELECT X.* 
  FROM (
    SELECT 
      store_id, SUM(visits) as sum_visits FROM store_visits
    WHERE 
      (date <= '2014-06-28' AND  date >= '2014-06-27') 
    AND 
      store_visits.city_id = 2 
    GROUP BY 
      store_id 
    ORDER BY 
      sum_visits desc
  ) X 
LIMIT 5

我想知道是否有一種方法可以增強查詢以消除臨時表和文件排序。

嘗試這個:

SELECT store_id, SUM(visits) AS sum_visits 
FROM store_visits sv
WHERE sv.date <= '2014-06-28' AND sv.date >= '2014-06-27' AND sv.city_id = 2 
GROUP BY store_id 
ORDER BY sum_visits DESC LIMIT 5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM