Problema:
Você deseja limitar o número de linhas resultantes de uma consulta no MySQL, PostgreSQL ou SQLite.
Exemplo:
No
exam tabela, há nomes dos alunos com os resultados do exame. | nome | exam_result |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Você deseja obter as três linhas com os melhores resultados do exame.
Solução:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
O resultado da consulta fica assim:
| nome | exam_result |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Discussão:
Primeiro, classifique as linhas pelo
exam_result coluna em ordem decrescente usando o ORDER BY cláusula e o DESC palavra-chave. Então, após o ORDER BY cláusula, use o LIMIT palavra-chave com um número de linhas que você gostaria de retornar (aqui, 3 ). ORDER BY exam_result DESC LIMIT 3
Se você quiser recuperar três linhas aleatoriamente em vez das três melhores, pule o
ORDER BY papel. SELECT * FROM exam LIMIT 3;
Claro, você pode recuperar qualquer número de linhas que desejar. Basta substituir
3 com o número desejado.