2009-04-10 34 views
5

使用PHP和MySQL,我想查詢我的用戶發佈的發佈表以查找發佈最多條目的人員。如何在我的MySQL表中的列中找到最常見的結果

這將是什麼正確的查詢?

樣本表結構:

 
[id] [UserID] 
1  johnnietheblack 
2  johnnietheblack 
3  dannyrottenegg 
4  marywhite 
5  marywhite 
6  johnnietheblack 

我想看到的是「johnnietheblack」是頂級的海報,「marywhite」是第二個最好的,「dannyrottenegg」具有至少

+0

你能提供的貼子表的表結構? – JohnFx 2009-04-10 23:22:41

回答

13

喜歡的東西:

SELECT COUNT(*) AS `Rows`, UserID 
FROM `postings` 
GROUP BY UserID 
ORDER BY `Rows` DESC 
LIMIT 1 

這會獲取由特定ID發佈的行數,然後通過計數排序以查找最高值,輸出它以及該人員的ID。您需要將'UserID'和'張貼'替換爲相應的列和字段。

1

我相信這應該工作...

SELECT user_id, COUNT(*) FROM postings ORDER BY COUNT(*) GROUP BY user_id LIMIT 1 
0

假設發佈是一個元組(USER_ID,recipient_user_id),其中每一行代表一個帖子,從USER_ID到recipient_user_id:

select user_id, count(*) as posts 
from postings 
group by user_id 
having count(*) = max(count(*)) ; 
相關問題