获取最高n值,包括SQL中的重复值

时间:2011-07-28 15:11:20

标签: sql sqlite

我有一个查询返回表中的最高n值,它工作正常。这是我正在使用的查询的简化版本:

SELECT Series FROM SeriesScores
        ORDER BY Series DESC LIMIT 0,n

其中n是调用查询的方法中的参数。当然,我还有其他标准来缩小列表范围,但我认为在这种情况下它是无关紧要的。

此查询的问题在于,如果它等于第n个结果,则不会返回第n + 1个结果。

如果n = 1,我有另一个使用MAX的查询并将表连接到自身,这样它就会返回每个具有最大值的人,但我似乎无法为其他n值找出一些东西。< / p>

1 个答案:

答案 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