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.