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 |