我看過這個問題,並在這裏和其他地方回答,並且仍然無法獲得我想要的結果。所以,請原諒重複。計算兩欄並顯示符合條件的總數
我想返回一張表格,顯示一個玩家(兩列玩家)贏得一場遊戲(列名爲其中有1的地方)的次數。
我的查詢是:
SELECT `player1` as Winner, Count(*) AS Count
FROM scores
WHERE `place` =1
UNION ALL
SELECT `player2` as Winner, Count(*) AS Count
FROM scores
WHERE `place` =1
ORDER BY count DESC
表結構是:
player1 varchar
player2 varchar
place smallint
Other unrelated columns
我想,看起來像這樣的迴應:
Winner Count
Joe 5
Sam 4
Bill 3
列標籤並不重要對我來說,因爲我會抓住結果並將其放在網頁上。
phpadmin在我的查詢中報告錯誤,而Instant SQLformatter(http://www.dpriver.com/pp/sqlformat.htm?ref=g_wangz)似乎表示查詢正常(格式查詢而不是顯示錯誤)。
那麼,我做錯了什麼?
那麼,如果'scores'中的記錄是'('Joe','Sam',1)',誰贏了? – eggyal 2013-05-01 11:49:37
你的專欄是什麼意思?是否如果theres是一個明確的贏家,player2是空的,並且如果有一個領帶player2不是null?或者是* *可以爲空?我從來沒有見過像這樣的焦油 - 我根本聽不懂。請賜教我們(我們) – Bohemian 2013-05-01 12:15:33
桌子上有關於重複橋牌遊戲的信息(精彩的比賽幾乎和編程一樣有趣!)。該遊戲以雙人遊戲的形式出現,桌上有一對成對的列,然後爲成對的每個玩家分隔列。該查詢將顯示哪些個人玩家在所有報告的遊戲中獲勝最多。玩家有時會與不同的伴侶玩。在我的例子中,也許喬和比爾一起打了3次,而山姆已經和另外4個人一起打了一場比賽,這些人將會進一步走下去。 – Bill 2013-05-01 12:38:34