目标(〜1700行)
YEAR COUNTRY NAME NUM_GOALS
-------------------------------------------
2018 England Harry Kane 6
2018 France Antoine Griezmann 4
2014 Argentina Lionel Messi 4
2014 Brazil Fred 1
2010 Germany Thomas Muller 5
2010 Japan Shinji Okazaki 1
1992 England Gary Linekar 6
冠军(〜500行)
YEAR COUNTRY NAME ROLE
-------------------------------------------------
2018 France Didier Deschamps Manager
2018 France Hugo Lloris Goalkeeper
2018 France Paul Pogba Midfielder
2014 Germany Joachim Loew Manager
2014 Germany Mesut Ozil Midfielder
2014 Germany Miroslav Klose Forward
2002 Brazil Da Silva Midfielder
1994 Brazil Da Silva Midfielder
1998 France Didier Deschamps Midfielder
编写查询以识别每个世界杯的金靴奖得主(最高进球手)。
我不确定是否应该包含MAX子句。
感谢您提供进一步的说明和帮助,或者我的查询需要任何调整。
这是我的目标:
SELECT NAME, YEAR, MAX(NUM_GOALS) as NUM_GOALS
FROM GOALS;
您的查询不是有效的SQL:您在SELECT
子句中有聚合和非聚合列,但没有GROUP BY
子句。
如果您想获得每年得分最高的人的姓名,那么这就是每组最多的问题。您不想aggregate行,而是<< filter >>行。一个典型的选择是为此使用关联的子查询:select g.*
from goals g
where g.num_goals = (select max(g1.goals) from goals g1 where g1.year = g.year)
这将包括关系,如果有的话。