2012-04-15 128 views
0

我已經整理像這樣的表:MySQL查詢:選擇最

id tag account 
0 sport  123 
1 game  123 
2 sport  123 
3 game  234 
4 sport  234 
5 game  234 

是否有一種方式來獲得與標籤運動的所有行和排序它們由哪個帳戶中有最多的元素?我覺得它應該很簡單。其實,我想要的是獨特的賬戶,哪個人的體育項目最多?我會很感激我能得到的任何幫助。

謝謝!

回答

2

這將讓你你「其實」想:

其實,我要的是哪一個具有最多的元素體育

select account from table 
where tag = 'sport' 
group by account 
order by count(*) desc 
+1

優秀的,我知道我一直在尋找通過和組通過使用順序,只是不知道如何做到這一點。謝謝! – NSchulze 2012-04-15 22:57:16

1

這裏有一個排序的不同賬戶方法來做到這一點。

 
SELECT account, COUNT(account) AS 'c' 
FROM sports 
WHERE tag = 'sport' 
GROUP BY account 
ORDER BY c DESC; 
+0

c''應該沒有引號:''c' – 2012-04-15 22:23:09

+0

@ypercube現在不能試用它,但我很確定,沒關係。儘管我也不會使用引號 – fancyPants 2012-04-15 22:57:53

+0

@tombom:你說得對,它可能在MySQL中起作用。這並不能正確使用,雖然:) – 2012-04-15 23:44:38