2012-02-14 16 views
0

我正在寫一個簡單的足球數據庫,該數據庫算起,我希望球隊在歐洲播放,但算上在聯盟勝場數。MySQL和過濾但是對於不同的值

團隊可以發揮歐足聯和結果應該是'雙贏「畫」或「失去」

爲了做到這一點,我寫了這個查詢,但我不知道我應該如何改變count語句,因爲此查詢給出在歐足聯參加的每個球隊的比賽數量。

SELECT t.name, count(*) as Wins 
FROM Teams t, Matches m 
WHERE competion = 'UEFA' AND t.name = m.team 
GROUP BY t.name 

回答

1

有了適當的標準,它看起來像:

SELECT t.name, count(*) as matches, 
sum(case when result = "win" then 1 else 0 end) as wins, 
sum(case when result = "draw" then 1 else 0 end) as draws, 
sum(case when result = "loss" then 1 else 0 end) as losses 
FROM Teams t, Matches m 
WHERE competion = 'UEFA' AND t.name = m.team 
GROUP BY t.name 
+0

我得到了您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在總和(sum = case ='win'then 1 else 0 end)時使用正確的語法作爲勝利, sum(case result ='at line 2 – CanCeylan 2012-02-14 18:56:02

+0

Yes I明白了,第一行結尾需要一個逗號 – CanCeylan 2012-02-14 19:01:11

+0

你是對的 - 修正了。 – YXD 2012-02-14 19:23:38

相關問題