我试图从每个国家返回高尔夫球手的国家,高尔夫球手名称,高尔夫球手年龄和平均车速。SQL选择不同的返回副本
但是,我得到的结果集与重复的同一个国家。我究竟做错了什么?这里是我的代码:
select distinct country, name, age, avgdrive
from pga.golfers S1
inner join
(select max(avgdrive) as MaxDrive
from pga.golfers
group by country) S2
on S1.avgdrive = s2.MaxDrive
order by avgdrive;
这些都是一些成绩我已经得到了,我应该只得到15行的,而是我得到20:
COUN NAME AGE AVGDRIVE
---- ------------------------------ ---------- ----------
Can Mike Weir 35 279.9
T&T Stephen Ames 41 285.8
USA Tim Petrovic 39 285.8
Ger Bernhard Langer 47 289.3
Swe Fredrik Jacobson 30 290
Jpn Ryuji Imada 28 290
Kor K.J. Choi 37 290.4
Eng Greg Owen 33 291.8
Ire Padraig Harrington 33 291.8
USA Scott McCarron 40 291.8
Eng Justin Rose 25 293.1
Ind Arjun Atwal 32 293.7
USA John Rollins 30 293.7
NIr Darren Clarke 37 294
Swe Daniel Chopra 31 297.2
Aus Adam Scott 25 300.6
Fij Vijay Singh 42 300.7
Spn Sergio Garcia 25 301.9
SAf Ernie Els 35 302.9
USA Tiger Woods 29 315.2
当我使用上述查询时,我得到“列不明确定义”。有任何想法吗? – user2985261
NVM我知道了,只需要澄清哪些表使用国家信息。多谢你们! – user2985261