ホームページ > データベース > mysql チュートリアル > SQL Server 2005 を使用してカテゴリごとの上位 10 レコードを取得するにはどうすればよいですか?

SQL Server 2005 を使用してカテゴリごとの上位 10 レコードを取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-21 06:06:08
オリジナル
952 人が閲覧しました

How to Retrieve the Top 10 Records per Category Using SQL Server 2005?

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート