我有一個相對簡單的問題,但我堅持寫一個適當的SQL查詢來顯示我需要的結果。我有一個表格,它存儲了與列表的匹配結果,這些列表示參與比賽的球員的ID,勝利者和另一個布爾列,我們可以說明是否要在結果中包含該匹配。所以欄目有:如何使用IF語句對MySQL中的行進行計數?
player1_id | player2_id | winner_id | use
所以winner_id
是取決於哪個球員贏得了前兩列的一個值。如果我想指望某個選手多少次贏得了比賽僅僅使用其中use
標誌了行,我可以很容易地做到這一點有:
SELECT COUNT(*) AS total, winner_id
FROM table
WHERE use = 1
GROUP BY winner_id
ORDER BY total DESC
不過,我也想做同樣的計數,但對於輸掉比賽的球員來說。換句話說,我不想按winner_id
分組,而是按輸家編號進行分組,這將是player1_id
或player2_id
的值,具體取決於哪一個不同於winner_id
。任何關於如何使用簡單的查詢工作的線索?
編輯你的問題,並提供樣本數據和預期的結果。 –
糟糕的桌子設計 - 第一名col贏家,第二名col對手。 – user3741598
不要爭辯說這是很好的桌子設計,但是有些比賽是在兩名球員之間設置的,而事先不知道誰會贏。 – mmvsbg