Masalah:
Anda ingin membatasi jumlah baris yang dihasilkan dari kueri di MySQL, PostgreSQL, atau SQLite.
Contoh:
Dalam exam
tabel, ada nama siswa dengan hasil ujian.
nama | hasil_ujian |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Anda ingin mendapatkan tiga baris dengan hasil ujian terbaik.
Solusi:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
Hasil querynya seperti ini:
nama | hasil_ujian |
---|---|
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Diskusi:
Pertama, urutkan baris berdasarkan exam_result
kolom dalam urutan menurun menggunakan ORDER BY
klausa dan DESC
kata kunci. Kemudian, setelah ORDER BY
klausa, gunakan LIMIT
kata kunci dengan jumlah baris yang ingin Anda kembalikan (di sini, 3
).
ORDER BY exam_result DESC LIMIT 3
Jika Anda ingin mengambil tiga baris secara acak alih-alih tiga baris terbaik, lewati ORDER BY
bagian.
SELECT * FROM exam LIMIT 3;
Tentu saja, Anda dapat mengambil sejumlah baris yang Anda inginkan. Ganti saja 3 dengan nomor yang Anda inginkan.