2012-10-10 74 views
1

我有一個名爲表比賽與這4個領域(均爲整數):如何根據這些標準訂購數據庫記錄?

1.id 
2.team1 
3.team2 
4.winner_team 

一些記錄,所以你可以看到它的樣子:

id | team1 | team2 | winner_team 
-------------------------------- 
1 | 3  | 15 | 3 
-------------------------------- 
2 | 20 | 8  | 8 
-------------------------------- 
3 | 18 | 11 | 18 
-------------------------------- 
4 | 8  | 7  | 8 
-------------------------------- 
... 

現在,我需要根據團隊的勝利數量排列表格。例如。在這個例子中,你會看到winner_team no。 8是2(在我的真實表格中有更多的記錄,所以winner_team可以有例如10次或更多次出現)。

基本上,我想根據獲勝次數排名從前到後排名前20的球隊,這些勝率代表了球隊贏得冠軍隊伍的次數。如果是team1或者team2根本就不重要。

我fink我需要使用group_by或類似的東西,但我不知道該怎麼做。

有人可以幫我用這個mysql select和php代碼來處理這種情況嗎?

在此先感謝。

+0

聽起來就像你想在COUNT()聚集上進行某種降序。你能發佈一個樣本結果集嗎? –

+0

由於您不知道如何使用GROUP BY,我相信這對您[學習如何使用它]將會非常有益(http://dev.mysql.com/doc/refman/5.6/en /select.html)。 – lanzz

回答

3
select winner_team, count(id) as wins 
from your_table 
group by winner_team 
order by wins desc 
limit 20