簡體   English   中英

MySQL選擇前10個最經常出現的字段值

[英]MySQL Select Top 10 Most Recurring Field Values

我需要查詢數據庫以返回列中的前10個最常見的值。 我現在正在使用這個:

$most_popular = (' 
SELECT item_id 
FROM   active_members 
WHERE  component = "members" 
       AND type = "has_picture" 
GROUP  BY item_id 
HAVING Count(*) = (SELECT Count(*) 
                   FROM   wp_ms_activity 
                   GROUP  BY item_id 
                   ORDER  BY Count(*) DESC 
                   LIMIT  1)

 ' );

不過,這只會返回一個值,而且速度很慢。 有沒有更好的辦法? 我嘗試將限制1更改為10,並顯示“子查詢返回多個值”。

只需按每個item_id的記錄數進行排序

SELECT item_id 
FROM active_members 
WHERE component = "members" 
AND type = "has_picture" 
GROUP BY item_id 
order by count(*) desc
limit 10

暫無
暫無

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

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