SQL Server 2005 のカテゴリごとの上位 10 レコードの抽出
このガイドでは、単一の SQL Server 2005 クエリを使用して各カテゴリの上位 10 レコードを効率的に取得する方法を説明します。
解決策は次のとおりです:
SELECT rs.Field1, rs.Field2 FROM ( SELECT Field1, Field2, RANK() OVER (PARTITION BY Section ORDER BY RankCriteria DESC) AS Rank FROM table ) rs WHERE Rank <= 10
このクエリは、RANK()
関数を使用して、RankCriteria
(ランキング順序を定義する列) に基づいてカテゴリ内の各レコードにランクを割り当てます。 PARTITION BY Section
句は、各カテゴリ内での独立したランキングを保証します。 RANK()
は、最高ランクのレコードの 1 から始まる連続ランクを割り当てます。
WHERE Rank <= 10
句は結果をフィルターし、出力を各カテゴリの上位 10 レコードに制限します。 RankCriteria
にタイが存在する場合、1 つのカテゴリに対して 10 を超えるレコードが返される可能性があることを覚えておくことが重要です。
以上がSQL Server 2005 を使用してカテゴリごとの上位 10 レコードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。