首頁 >資料庫 >mysql教程 >如何在 Microsoft Access SQL 中檢索每組的前 N ​​筆記錄?

如何在 Microsoft Access SQL 中檢索每組的前 N ​​筆記錄?

DDD
DDD原創
2025-01-07 17:27:40883瀏覽

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

使用 SQL (Access) 取得每個分組的前 N ​​筆記錄

問題:

如何使用 Microsoft Access 中的 SQL 取得每個分組的 n 筆最新記錄?

背景:

使用者擁有名為「使用者」和「進度」的表,分別包含有關使用者及其分數的資訊。他們需要一個查詢來顯示每個用戶的三個最新分數。

答案:

以下巢狀查詢會擷取每個使用者的三個最新分數:

<code class="language-sql">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]</code>

說明:

IN 子句內的子查詢使用 TOP 關鍵字和 ORDER BY 子句檢索每個 LoginID 的三個最新日期。然後,主查詢從 Progress 表中選擇相應的記錄,其中 [Date Taken] 欄位與每個 LoginID 的三個最新日期之一相符。主查詢中的 ORDER BY 子句確保記錄按 LoginID 和 [Date Taken] 降序排序。

以上是如何在 Microsoft Access SQL 中檢索每組的前 N ​​筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn