sql >> Databasteknik >  >> RDS >> Mysql

Hur man begränsar resultat i MySQL, PostgreSQL och SQLite

Problem:

Du vill begränsa antalet rader som kommer från en fråga i MySQL, PostgreSQL eller SQLite.

Exempel:

I exam tabell, det finns namn på eleverna med resultaten av tentamen.

namn exam_result
Janet Morgen 9
Taya Bain 11
Anne Johnson 11
Josh Kaur 10
Ellen Thornton 8

Du vill få de tre raderna med de bästa provresultaten.

Lösning:

SELECT *
FROM exam
ORDER BY exam_result DESC
LIMIT 3;

Resultatet av frågan ser ut så här:

namn exam_result
Taya Bain 11
Anne Johnson 11
Josh Kaur 10

Diskussion:

Sortera först raderna efter exam_result kolumnen i fallande ordning med ORDER BY satsen och DESC nyckelord. Sedan, efter ORDER BY sats, använd LIMIT nyckelord med ett antal rader som du vill returnera (här, 3 ).

ORDER BY exam_result DESC
LIMIT 3

Om du vill hämta tre rader slumpmässigt istället för de tre bästa, hoppa över ORDER BY del.

SELECT *
FROM exam
LIMIT 3;

Naturligtvis kan du hämta hur många rader du vill. Byt bara ut 3 med önskat nummer.


  1. Vad är skillnaden mellan kommaseparerade joins och join on syntax i MySQL?

  2. Stjärnschemat

  3. SQL IN Klausul 1000 objektgräns

  4. Textkomprimering i PostgreSQL