我有一个查询返回表中的最高n值,它工作正常。这是我正在使用的查询的简化版本:
SELECT Series FROM SeriesScores
ORDER BY Series DESC LIMIT 0,n
其中n是调用查询的方法中的参数。当然,我还有其他标准来缩小列表范围,但我认为在这种情况下它是无关紧要的。
此查询的问题在于,如果它等于第n个结果,则不会返回第n + 1个结果。
如果n = 1,我有另一个使用MAX的查询并将表连接到自身,这样它就会返回每个具有最大值的人,但我似乎无法为其他n值找出一些东西。< / p>
答案 0 :(得分:1)
您可以尝试以下方法:
SELECT s1.id, s1.series FROM SeriesScores s1
INNER JOIN
(SELECT DISTINCT series FROM SeriesScores ORDER BY series DESC LIMIT 0, n) as s2
ON s1.series = s2.series