Mysql 从一列中检索两个最高值以进行差异的排序比较

Mysql 从一列中检索两个最高值以进行差异的排序比较,mysql,sql,highest,Mysql,Sql,Highest,修改以添加信息: 我意识到有很多关于“获取两个最高值”或“获取第二个最高值”的SQL问题,并且已经发布了答案,所以如果这个问题是多余的,我提前道歉,但是我想做一些与其他情况不同的事情,我需要从a到B的一些帮助。我充其量只是一个MySQL爱好者,所以我相信答案对你们中的一些人来说是显而易见的 我有一大堆棒球运动员单赛季的统计数据。我想把他们的价值最高的赛季和价值第二高的赛季进行比较。我也希望能够通过从最高值中减去第二高值来比较这两个赛季 当然,我可以很容易地使用MAX获得最高的价值,但是对于像我这

修改以添加信息:

我意识到有很多关于“获取两个最高值”或“获取第二个最高值”的SQL问题,并且已经发布了答案,所以如果这个问题是多余的,我提前道歉,但是我想做一些与其他情况不同的事情,我需要从a到B的一些帮助。我充其量只是一个MySQL爱好者,所以我相信答案对你们中的一些人来说是显而易见的

我有一大堆棒球运动员单赛季的统计数据。我想把他们的价值最高的赛季和价值第二高的赛季进行比较。我也希望能够通过从最高值中减去第二高值来比较这两个赛季

当然,我可以很容易地使用MAX获得最高的价值,但是对于像我这样的新手来说,这是一个非常困难的问题


谢谢你迄今为止的帮助

我将简化相关表格结构,使其具有相关性:

playerid, Year, Value
每个球员的赛季都是按年份分开的

我希望从查询中返回的是

Player id, 
Year [of Highest Value], 
Value [Highest], 
Year [of Second Highest Value], 
Value [Second-Highest]

我希望这足够简单明了。谢谢你的帮助

在不了解表结构的情况下,基本上可以执行以下操作:

SELECT score
FROM statstable
WHERE playerID=???
ORDER BY score DESC
LIMIT 2
这将检索得分最高的两行,您可以从客户机中提取得分并减去


如果您需要在另一个查询中为用户提供这个highest-next\u highest值,那么它会变得更加复杂。

在不了解表结构的情况下,您基本上可以执行以下操作:

SELECT score
FROM statstable
WHERE playerID=???
ORDER BY score DESC
LIMIT 2
这将检索得分最高的两行,您可以从客户机中提取得分并减去


如果您需要在另一个查询中为用户提供这个最高-下一个\u最高值,那么它会变得更复杂。

如果您发布了表结构,可能会有所帮助。请发布一些代码好吗?我不确定MAX是否是解决方案,但LIMIT可能会解决问题。如果您发布了表结构,这可能会有所帮助。您可以发布一些代码吗?我不确定MAX是否是解决方案,但LIMIT可能会解决问题。