Problema:
Você gostaria de encontrar o menor valor numérico em uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
employment com dados nas seguintes colunas:id , first_name , last_name , department e salary . | id | first_name | last_name | departamento | salário |
|---|---|---|---|---|
| 1 | Ellie | Martins | marketing | 1200 |
| 2 | Martin | Johnson | finanças | 2300 |
| 3 | Michael | Jacobs | produção | 1100 |
| 4 | Estevão | Kowalski | marketing | 4300 |
| 5 | Stanley | Moleiro | marketing | 3500 |
| 6 | Jenny | Marrom | finanças | 5000 |
| 7 | Margarida | Verde | marketing | 1500 |
| 8 | Lisa | Thomas | produção | 2800 |
Vamos encontrar o menor salário entre todos os funcionários.
Solução:
SELECT MIN(salary) as min_salary FROM employment;
Aqui está o resultado:
| min_salary |
|---|
| 1100 |
Discussão:
Para encontrar o valor mínimo de uma coluna, use o
MIN() função agregada; ele recebe como argumento o nome da coluna para a qual você deseja encontrar o valor mínimo. Se você não especificou nenhuma outra coluna no SELECT cláusula, o mínimo será calculado para todos os registros da tabela. Em nosso exemplo, a consulta retorna o salário mínimo entre todos os funcionários. Claro, como é uma função agregada,
MIN() também pode ser usado com grupos. Por exemplo, se quisermos encontrar o salário mínimo para cada departamento, podemos escrever esta consulta:SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Esta consulta retorna o salário mínimo para cada departamento:
| departamento | min_salário |
|---|---|
| marketing | 1200 |
| finanças | 2300 |
| produção | 1100 |