2011-07-28 125 views
1

我有一個查詢返回表中最高的n值,它工作正常。以下是我正在使用的查詢的簡化版本:獲取最高的n值,包括SQL中的重複值

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

其中,n是調用查詢的方法中的參數。當然,我還有其他標準來縮小清單的範圍,但我認爲在這種情況下它是無關緊要的。

該查詢的問題是,如果它等於第n個結果,它將不會返回第n + 1個結果。

如果n = 1,我有另一個查詢使用MAX並加入表本身,所以它返回每個單個人的最大值串聯,但我似乎無法找出其他n值的東西。

回答

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 
+0

它完美的作品,謝謝!我非常感謝你的幫助! –

+0

你不止歡迎:) –