Problema:
Desea limitar el número de filas resultantes de una consulta en MySQL, PostgreSQL o SQLite.
Ejemplo:
En el exam tabla, hay nombres de los estudiantes con los resultados del examen.
| nombre | resultado_examen |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Quiere obtener las tres filas con los mejores resultados en el examen.
Solución:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
El resultado de la consulta se ve así:
| nombre | resultado_examen |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Discusión:
Primero, ordene las filas por el exam_result columna en orden descendente usando ORDER BY cláusula y el DESC palabra clave. Luego, después de ORDER BY cláusula, use el LIMIT palabra clave con un número de filas que le gustaría devolver (aquí, 3 ).
ORDER BY exam_result DESC LIMIT 3
Si desea recuperar tres filas al azar en lugar de las tres mejores, omita ORDER BY parte.
SELECT * FROM exam LIMIT 3;
Por supuesto, puede recuperar cualquier número de filas que desee. Simplemente reemplace 3 con el número deseado.