Problem:
Du vil begrænse antallet af rækker, der stammer fra en forespørgsel i MySQL, PostgreSQL eller SQLite.
Eksempel:
I exam tabel, er der navne på eleverne med resultaterne af eksamen.
| navn | eksamen_resultat |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Du ønsker at få de tre rækker med de bedste eksamensresultater.
Løsning:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
Resultatet af forespørgslen ser således ud:
| navn | eksamen_resultat |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Diskussion:
Sorter først rækkerne efter exam_result kolonne i faldende rækkefølge ved hjælp af ORDER BY klausulen og DESC søgeord. Derefter, efter ORDER BY klausul, brug LIMIT søgeord med et antal rækker, du gerne vil returnere (her 3). ).
ORDER BY exam_result DESC LIMIT 3
Hvis du gerne vil hente tre rækker tilfældigt i stedet for de bedste tre, skal du springe ORDER BY over del.
SELECT * FROM exam LIMIT 3;
Du kan selvfølgelig hente et hvilket som helst antal rækker du ønsker. Bare udskift 3 med dit ønskede nummer.