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.