ホームページ > データベース > mysql チュートリアル > Microsoft Access SQLでグループごとの上位Nレコードを取得するにはどうすればよいですか?

Microsoft Access SQLでグループごとの上位Nレコードを取得するにはどうすればよいですか?

DDD
リリース: 2025-01-07 17:27:40
オリジナル
956 人が閲覧しました

How to Retrieve the Top N Records per Group in Microsoft Access SQL?

SQL (Access) を使用して各グループの上位 N レコードを取得します

質問:

Microsoft Access で SQL を使用して各グループの n 個の最新レコードを取得するにはどうすればよいですか?

背景:

ユーザーには「ユーザー」と「進捗」という名前のテーブルがあり、それぞれユーザーとそのスコアに関する情報が含まれています。各ユーザーの最新の 3 つのスコアを表示するクエリが必要です。

答え:

次のネストされたクエリは、各ユーザーの最新の 3 つのスコアを取得します:

SELECT PR1.LogInID, PR1.Score, PR1.[Date Taken]
FROM Progress AS PR1
WHERE PR1.[Date Taken] IN (
                        SELECT TOP 3 PR2.[Date Taken]
                        FROM Progress PR2
                        WHERE PR2.LoginID = PR1.LoginID
                        ORDER BY PR2.[Date Taken] DESC
                        )
ORDER BY LoginID, [Date Taken]
ログイン後にコピー

手順:

IN 句内のサブクエリでは、TOP キーワードと ORDER BY 句を使用して、各 LoginID の最新の 3 つの日付を取得します。次に、メイン クエリは、[Date Taken] 列が各 LoginID の 3 つの最新の日付の 1 つと一致する、Progress テーブルから対応するレコードを選択します。メイン クエリの ORDER BY 句により、レコードが LoginID と [取得日] で降順に並べ替えられます。

以上がMicrosoft Access SQLでグループごとの上位Nレコードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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