Memilih Dua Baris Teratas dalam Setiap Kumpulan SQL
Dalam SQL, tugas biasa adalah untuk mendapatkan hanya baris teratas untuk setiap kumpulan. Walau bagaimanapun, fungsi pengagregatan standard untuk pengelompokan (seperti MAX() dan MIN()) hanya membenarkan pemilihan nilai tertinggi atau terendah.
Pertanyaan untuk Memilih Dua Markah Teratas bagi setiap Nama:
Untuk menangani cabaran ini, pertanyaan yang lebih kompleks diperlukan. Berikut ialah contoh cara memilih dua markah teratas bagi setiap nama dalam jadual yang disediakan:
SELECT * FROM test s WHERE ( SELECT COUNT(*) FROM test f WHERE f.name = s.name AND f.score >= s.score ) <= 2;
Penjelasan:
Contoh Output:
Pertanyaan di atas mengembalikan output berikut:
NAME SCORE ----------------- willy 2 willy 3 zoe 5 zoe 6
Output ini termasuk dua markah teratas untuk setiap nama dalam jadual, seperti yang diminta.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Dua Baris Teratas untuk Setiap Kumpulan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!