0
我必須設置一個模塊,用戶可以投票給個人資料A或B.每個記錄將存儲3個重要值:投票人,贏了,失敗的人。獲得至少贏得特定比例時間的獲獎者名單的SQL
用戶
- id_user
- 名稱
user_versus
- id_versus - 主鍵
- id_user - 誰票
- id_user_winner 之一 - 贏家,顯然
- id_user_loser - 失敗者
我可以單獨執行這些查詢計算用戶的百分比:
- $ wins ='SELECT COUNT(*)FROM user_versus WHERE id_user _winner = 6';
- $ loses ='SELECT COUNT(*)FROM user_versus WHERE id_user_loser = 6';
- $ total = $ wins + $ loses;
所以%勝= $勝/ $總
不過,我相信,查詢可以優化到只有一個,然後用它作爲報告查詢的子查詢(這是其中一個我實際上需要幫助)。該報告需要返回:有一個雙贏的百分比比指定的用戶
的奪冠百分比我對如何從這個角度上進行不知道更多的用戶
名單。任何提示將有所幫助。謝謝!
,如果你有任何的損失用戶,會發生什麼?如果你有一個沒有勝利的用戶會發生什麼?我建議你從User開始,並對你的內聯視圖做兩個左連接。當然你需要注意那些既沒有(除零) –
@Conrad Frix的用戶非常感謝你的評論。我糾正了答案。除以0是不可能的,因爲由查詢檢索的每個用戶必須始終是贏家或輸家,或兩者都是。我們除以:win + lose的總和,並且這個總和必須總是> 0。 – krokodilko
@kordirko爲什麼我還會獲得帶NULL值的id_user列?試圖找出沒有成功......:s – andufo