Problema:
Você deseja encontrar linhas que armazenam o menor valor numérico em uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
weather com dados nas seguintes colunas:id , city , e temperature . | id | cidade | temperatura |
|---|---|---|
| 1 | Houston | 23 |
| 2 | Atlântida | 20 |
| 3 | Boston | 15 |
| 4 | Cleveland | 15 |
| 5 | Dallas | 34 |
| 6 | Austin | 28 |
Veja como encontrar cidades com a temperatura mais baixa.
Solução:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Aqui está o resultado:
| id | cidade | temperatura |
|---|---|---|
| 3 | Boston | 15 |
| 4 | Cleveland | 15 |
Discussão:
Para encontrar o valor mínimo de uma coluna, use o
MIN() função agregada; leva o nome da coluna ou expressão para encontrar o valor mínimo. Em nosso exemplo, a subconsulta retorna o valor mínimo na temperature coluna (subconsulta:SELECT MIN(temperature) FROM weather ). A consulta principal exibe id, cidade e temperatura. Para exibir apenas linhas com valores mínimos na coluna, use WHERE com uma subconsulta (por exemplo, SELECT MIN(temperature) FROM weather ). Na cláusula WHERE, coloque o nome da coluna com o valor relativo a ser comparado ao valor retornado pela função agregada na subconsulta (WHERE temperature = (SELECT MIN(temperature) FROM weather) ).