2010-12-07 21 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

相关问题