Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod N Teratas setiap Kumpulan dalam 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 klausaIN 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!