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.