Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod N Teratas setiap Kumpulan dalam Microsoft Access SQL?

Bagaimana untuk Mendapatkan Rekod N Teratas setiap Kumpulan dalam Microsoft Access SQL?

DDD
DDDasal
2025-01-07 17:27:40917semak imbas

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

Gunakan SQL (Akses) untuk mendapatkan rekod N teratas setiap kumpulan

Soalan:

Bagaimana untuk mendapatkan n rekod terkini setiap kumpulan menggunakan SQL dalam Microsoft Access?

Latar belakang:

Pengguna mempunyai jadual bernama "Pengguna" dan "Kemajuan" yang masing-masing mengandungi maklumat tentang pengguna dan skor mereka. Mereka memerlukan pertanyaan untuk memaparkan tiga markah terbaharu bagi setiap pengguna.

Jawapan:

Pertanyaan bersarang berikut mendapatkan semula tiga markah terbaharu untuk setiap pengguna:

<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>

Arahan:

Subkueri dalam klausa

IN menggunakan kata kunci TOP dan klausa ORDER BY untuk mendapatkan semula tiga tarikh terkini untuk setiap LoginID. Pertanyaan utama kemudian memilih rekod yang sepadan daripada jadual Kemajuan di mana lajur [Tarikh Diambil] sepadan dengan salah satu daripada tiga tarikh terkini untuk setiap LoginID. Klausa ORDER BY dalam pertanyaan utama memastikan bahawa rekod diisih mengikut LoginID dan [Tarikh Diambil] dalam tertib menurun.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod N Teratas setiap Kumpulan dalam Microsoft Access SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn