【发布时间】:2015-03-19 09:14:14
【问题描述】:
我需要通过计算玩家ID出现在另一张桌子上的次数来计算玩家玩过的游戏数量,这是我一直在玩的代码:
SELECT players.playerID, players.fName, players.lName, matches.playerID, COUNT(matches.playerID) AS 'gamesPlayed'
FROM players
INNER JOIN matches
ON matches.playerID = players.playerID
WHERE players.playerID=matches.playerID
ORDER BY gamesPlayed"
目前有 2 名球员参加了 2 场比赛。
当前代码返回 1 名球员参加了 4 场比赛。
我试图让 COUNT(matches.playerID) 仅返回 player.playerID = matches.playerID 的匹配项。
非常感谢任何帮助!
【问题讨论】:
-
首先:您的查询缺少
GROUP BY,其次-请检查COUNT接受的参数(在此查询中,它与COUNT(*)没有什么不同) -
通过查询包含一个组后现在可以工作了,谢谢 zerkms
标签: mysql sql count inner-join