2011-07-28 12 views
1

テーブル内の最高nの値を返すクエリがあり、正常に動作します。ここで私が使用しているクエリの簡易版です:SQLで重複を含む最高のn値を取得

nは、クエリを呼び出しているメソッドのパラメータである
SELECT Series FROM SeriesScores 
     ORDER BY Series DESC LIMIT 0,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

あなたは大歓迎です:) –

関連する問題