Problema:
Vuoi limitare il numero di righe risultanti da una query in MySQL, PostgreSQL o SQLite.
Esempio:
Nell'exam
tabella, ci sono i nomi degli studenti con i risultati dell'esame.
nome | risultato_esame |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Vuoi ottenere le tre righe con i migliori risultati dell'esame.
Soluzione:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
Il risultato della query è simile al seguente:
nome | risultato_esame |
---|---|
Taya Bain | 11 |
Anna Johnson | 11 |
Josh Kaur | 10 |
Discussione:
Per prima cosa, ordina le righe in base al exam_result
colonna in ordine decrescente utilizzando il ORDER BY
clausola e il DESC
parola chiave. Quindi, dopo il ORDER BY
clausola, utilizzare il LIMIT
parola chiave con un numero di righe che desideri restituire (qui, 3
).
ORDER BY exam_result DESC LIMIT 3
Se desideri recuperare tre righe in modo casuale anziché le tre migliori, salta il ORDER BY
parte.
SELECT * FROM exam LIMIT 3;
Naturalmente, puoi recuperare il numero di righe che desideri. Sostituisci semplicemente 3 con il numero desiderato.