本赛季出场球员的职业生涯平均水平

Career averages for players that have played in current season

我试图列出球员在他们职业生涯中的平均水平,但只包括在 2018 年至少打过一场比赛的球员,但我的查询只是返回在 2018 年打过 'only' 的球员,而不是所有在 2018 年至少打过一场比赛的球员的职业生涯平均水平。

SELECT PlayerID
     , Surname
     , AKA
     , COUNT(*) AS Played
     , ROUND(AVG(Kicks),1) AS K
     , ROUND(AVG(Handballs),1) AS HB
     , ROUND(AVG(Marks),1) AS M
     , Season
  FROM `PlayerDetails` 
 WHERE Team = 'Team A'
 GROUP 
    BY PlayerID 
HAVING Season = 2018
 ORDER 
    BY Surname ASC 

您需要删除 HAVING 子句并添加到 WHERE 子句:

SELECT PlayerID, Surname,AKA, COUNT(*) AS Played, ROUND(AVG(Kicks),1) AS K, ROUND(AVG(Handballs),1) AS HB, ROUND(AVG(Marks),1) AS M, Season
FROM `PlayerDetails` p1
WHERE Team = 'Team A'
   AND EXISTS (SELECT * FROM `PlayerDetails` p2 WHERE p2.playerID = p1.playerID AND Season = 2018)
GROUP BY PlayerID 
ORDER BY Surname ASC 

您所拥有的 HAVING 子句 - 正如您所发现的那样 - 将查询仅限于 2018 年的结果。我添加到 WHEREEXISTS 子句将找到任何玩家谁玩过2018.