Probleem:
U wilt het aantal rijen dat voortvloeit uit een zoekopdracht in MySQL, PostgreSQL of SQLite beperken.
Voorbeeld:
In het exam
tabel, zijn er namen van de studenten met de resultaten van het examen.
naam | exam_result |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
U wilt de drie rijen met de beste examenresultaten krijgen.
Oplossing:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
Het resultaat van de zoekopdracht ziet er als volgt uit:
naam | exam_result |
---|---|
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Discussie:
Sorteer eerst de rijen op exam_result
kolom in aflopende volgorde met behulp van de ORDER BY
clausule en de DESC
trefwoord. Dan, na de ORDER BY
clausule, gebruik de LIMIT
zoekwoord met een aantal rijen dat u wilt retourneren (hier 3
).
ORDER BY exam_result DESC LIMIT 3
Als je willekeurig drie rijen wilt ophalen in plaats van de beste drie, sla dan de ORDER BY
over onderdeel.
SELECT * FROM exam LIMIT 3;
Natuurlijk kunt u elk gewenst aantal rijen ophalen. Vervang gewoon 3 met uw gewenste nummer.