0
这是数据从数据库sqlite3的样品:如何查找与其他列中的另一个值相对应的列中值的最大值? (在描述的例子)
playerID nameFirst nameLast HR (homeruns)
bondsba01 Barry Bonds 73
mcgwima01 Mark McGwire 70
sosasa01 Sammy Sosa 66
mcgwima01 Mark McGwire 65
sosasa01 Sammy Sosa 64
sosasa01 Sammy Sosa 63
marisro01 Roger Maris 61
ruthba01 Babe Ruth 60
ruthba01 Babe Ruth 59
foxxji01 Jimmie Foxx 58
greenha01 Hank Greenberg 58
...truncated...
我用这个命令来选择这样的数据:
SELECT Master.playerID, Master.nameFirst, Master.nameLast, Batting.HR
FROM Master
INNER JOIN Batting on Master.playerID = Batting.playerID
ORDER BY Batting.HR DESC
LIMIT 100;
Baiscally我要回答以下问题:本垒打人数排名前20的棒球选手是什么?但是,正如你所看到的,有些球员有多个项,因为表具有多年该玩家是活动数据。
我已经回答了使用pandas
和其他一些Python命令的问题。但我希望能够用单个SQL查询来回答这个问题。我已经试过没有成功的几件事与DISTINCT
,GROUP BY
等
为了更清楚,我想每个独特的球员有本垒打的最大数量了。然后我想按本垒打的数量排序所有这些独特的名字。
我想transfrom上表成这样:
playerID nameFirst nameLast HR (homeruns)
bondsba01 Barry Bonds 73
mcgwima01 Mark McGwire 70
sosasa01 Sammy Sosa 66
marisro01 Roger Maris 61
ruthba01 Babe Ruth 60
foxxji01 Jimmie Foxx 58
greenha01 Hank Greenberg 58
我想这不应该是很辛苦,但我没有与SQL很多经验。
大,它的工作原理。我只需要添加'ORDER BY运行DESC'。 – Alex
欢迎,如果它可以帮助你可以投票正确的答案 – mohan111