Problema:
Você gostaria de encontrar o valor máximo de uma coluna numérica.
Exemplo:
Nosso banco de dados tem uma tabela chamada
product
com dados nas seguintes colunas:id
, name
, year
, e items
. id | nome | ano | itens |
---|---|---|---|
1 | rolinho de pão | 2018 | 345 |
2 | chocolate | 2017 | 123 |
3 | manteiga | 2019 | 34 |
4 | rolinho de pão | 2019 | 456 |
5 | manteiga | 2018 | 56 |
6 | manteiga | 2017 | 78 |
7 | chocolate | 2019 | 87 |
8 | chocolate | 2018 | 76 |
Vamos encontrar o número máximo de itens vendidos em todos os anos.
Solução:
SELECT MAX(items) as max_items FROM product;
Aqui está o resultado:
max_items |
---|
456 |
Discussão:
Para encontrar o valor máximo de uma coluna, use o
MAX()
função agregada; ele recebe como argumento o nome da coluna para a qual você deseja encontrar o valor máximo. Se você não especificou nenhuma outra coluna no SELECT
cláusula, o máximo será calculado para todos os registros da tabela. Em nosso exemplo, a consulta retorna o número máximo entre todos os itens. Claro, como é uma função agregada,
MAX()
também pode ser usado com grupos. Por exemplo, se quisermos ver o número máximo de itens vendidos em cada ano, podemos escrever esta consulta:SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
O máximo é calculado para cada grupo:
ano | max_items |
---|---|
2018 | 345 |
2017 | 123 |
2019 | 456 |