0

修改以添加信息:

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

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

当然,我可以使用 MAX 轻松获得最高值,但对于像我这样的新手来说,这要困难得多。


感谢您一直以来的帮助。

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

playerid, Year, Value

每个球员赛季都按年份分开。

我想从我的查询中返回的是

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

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

4

1 回答 1

3

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

SELECT score
FROM statstable
WHERE playerID=???
ORDER BY score DESC
LIMIT 2

这将检索得分最高的两行,您可以提取得分并在客户端中减去。

如果您在另一个查询中需要用户的这个最高-下一个_最高值,那么它会变得有点复杂。

于 2011-11-09T15:44:08.753 回答