我已經得到了這個工作,但它是一個非常糟糕的做法,我需要一些幫助與我的查詢分解。算上「比例?」爲贏得和損失
SELECT `GameDate`,
COUNT(CASE
WHEN `P1Outcome`= 'win' AND P2Param = 'a' THEN 1
END) AS a_win,
COUNT(CASE
WHEN `P1Outcome`= 'loss' AND P2Param = 'a' THEN 1
END) AS a_loss,
COUNT(CASE
WHEN `P1Outcome`= 'win' AND P2Param = 'b' THEN 1
END) AS b_win,
COUNT(CASE
WHEN `P1Outcome`= 'loss' AND P2Param = 'b' THEN 1
END) AS b_loss
FROM games
WHERE `P2Param` IN ('a', 'b', 'c')
GROUP BY GameDate
這將讓我說,我可以在我的PHP應用程序中使用的查詢,但我想跳過不得不作出在PHP中的實際比率計算,並直接與SQL拿來。
所以基本上我一直試圖做的是類似於此:
COUNT(CASE
WHEN `P1Outcome`= 'win' AND P2Param = 'a' THEN 1 Else -1
END) AS a_ratio,
但正如beginer我是,我無法弄清楚如何我可以做這個工作。
編輯: 對不起,沒有更詳細地解釋我的問候,這裏是事情。我正在創建一個統計組件,我需要獲取一段時間的比率,以便將其顯示爲圖形。所以下面的事情要做到:
GameDate(1,2,3,4 ......日前) 根據不同PARAMS(在這種情況下圖)
因此,在短期的球員比例這是我得到的那一刻:
GameDate a_win a_loss b_win b_loss
2011/04/25 x x x x
2011/04/23 x x x x
....
所以一切順利偉大的,但我想在SQL所做的實際比率計算,因爲此刻我需要在PHP如$ratio = $q[a_win]-$q[a_loss]
而且由於事實上,我有很多不同的參數,我的查詢就像是雙倍大小,因爲我需要獲取勝利和損失,而不是ju首先,比例就像我想要的那樣。
什麼是這個問題? – zerkms 2011-05-07 10:05:17
你正試圖執行的實際比率計算是什麼(目前在PHP中)? – eggyal 2011-05-07 10:06:35
對不起,由於缺乏細節,我更新了問題,因此更容易瞭解問題所在。 – Alexander 2011-05-07 10:51:50