Masalah:
Anda ingin membatasi jumlah baris yang dihasilkan dari kueri di T-SQL.
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 TOP 3 * FROM exam ORDER BY exam_result DESC;
Hasil querynya seperti ini:
| nama | hasil_ujian |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Diskusi:
Setelah SELECT kata kunci, gunakan TOP kata kunci bersama dengan jumlah baris yang ingin Anda ambil (di sini, 3 ). Ingatlah untuk mengurutkan baris berdasarkan exam_result kolom dalam urutan menurun menggunakan ORDER BY klausa dan DESC kata kunci.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Jika Anda ingin mengambil tiga baris secara acak alih-alih tiga baris terbaik, lewati ORDER BY bagian.
SELECT TOP 3 * FROM exam;
Tentu saja, Anda dapat mengambil sejumlah baris yang Anda inginkan. Ganti saja 3 dengan nomor yang Anda inginkan.