sql >> Database >  >> RDS >> Mysql

Resultaten beperken in MySQL, PostgreSQL en SQLite

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.


  1. ORA-00933:SQL-opdracht niet correct beëindigd

  2. Vereenvoudig gebruikersaccountbeheer met MariaDB MaxScale 2.2 en MariaDB Server 10.3

  3. Installeer PostgreSQL op Ubuntu 18.04

  4. De SQL Server Query Store