修改添加信息:
我意识到有很多“得到两个最高”或“得到第二高”的SQL问题并回答了帖子,所以如果这个问题多余,我会提前道歉,但我想做的事情有点不同于其他情况,我需要一些从A到B的帮助。我最好是一个MySQL爱好者,所以我相信你们中的一些人的答案是显而易见的。
我有一堆棒球运动员的单赛季统计数据。我想把他们的赛季与他们的赛季的最高值进行比较,并将其作为第二高的值。我也希望能够通过从最高值中减去第二高来来比较两个季节。
当然,我可以轻松地使用MAX获得最高价值,但对于像我这样的新手来说,这是一个更大的难度。
到目前为止,感谢您的帮助。
我将简化相关的表结构,使其相关:
playerid, Year, Value
每个球员赛季按年份分开。
我想从我的查询中返回的是
Player id,
Year [of Highest Value],
Value [Highest],
Year [of Second Highest Value],
Value [Second-Highest]
我希望这很简单明了。谢谢你的帮助。
答案 0 :(得分:3)
在不知道你的表结构的情况下,你基本上可以这样做:
SELECT score
FROM statstable
WHERE playerID=???
ORDER BY score DESC
LIMIT 2
将检索得分最高的两行,您可以从中提取得分并在客户中减去。
如果您在另一个查询中需要此最高next_highest值,那么它会变得有点复杂。