2011-04-29 3 views
0

私はスポーツ競技会のためのスポーツ器具とはしごを作成しようとしています。私ははしごを作るのに問題があります。スポーツ競技でラダーを作成するMySQL SELECTクエリ

私はラダーをthisのように見たいと思います。チームは優勝または2点、引き分け1点を獲得する。

そして、私はこれは私の知る限り得ているようですが、それは唯一のゲームに勝ったし、どのように多くのゲーム、彼らしているチームの名前を返します

thisのように見えるテーブルを使用して、そのはしごを作成したいです勝った:

SELECT teamname,COUNT(*) as wins 
FROM result where pointsfor > pointsagainst and completed = "1" 
GROUP BY teamname ORDER BY wins DESC; 

答えて

1

は、このようなサブクエリを使用してみてください:

SELECT 
    teamname, 
    (SELECT COUNT(*) FROM result WHERE teamname = r.teamname AND pointsfor > pointsagainst AND completed = 1) AS wins, 
    (SELECT COUNT(*) FROM result WHERE teamname = r.teamname AND pointsfor < pointsagainst AND completed = 1) AS losses, 
    (SELECT COUNT(*) FROM result WHERE teamname = r.teamname AND pointsfor = pointsagainst AND completed = 1) AS draws 
FROM result AS r 
GROUP BY teamname 
ORDER BY wins DESC 

編集:追加グループ

関連する問題