2010-12-07 23 views
4

我想獲取從下面的表中的前10個最重複的行:如何列出前10個最重複的行?

Table Name: votes(id,vote) 
-------------------------- 
1 | Taylor Swift 
2 | Maroon5 
3 | Maroon5 
4 | Maroon5 
5 | Taylor Swift 
6 | Kanye West 

輸出應該是這樣的:

1. Maroon5: 3 votes 
2. Taylor Swift: 2 votes 
3. Kanye West: 1 votes 

如何做到這一點使用MySQL只(如果可能)

謝謝

回答

8
select vote, count(*) 
from votes 
group by 1 
order by 2 desc 
limit 10 
1
select vote,count(vote) from votes group by vote order by count(vote) desc limit 10 
+0

爲什麼要按所有列計數,爲什麼要運行COUNT x2?你只是分配它,`投票,計數(表決)作爲計數`然後`ORDER BY計數' – RobertPitt 2010-12-07 22:44:46

+0

@羅伯特 - 它不會「運行`計數`兩次」 – 2010-12-07 22:48:39

相關問題