Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL MAX

A função `MAX` no PostgreSQL é uma função matemática utilizada para encontrar o maior valor em um conjunto de valores. É comumente utilizado em consultas SQL para obter o valor máximo de uma coluna de números ou datas.

Uso

A função `MAX` é usada quando você precisa identificar o valor mais alto em uma coluna, como encontrar o maior salário, idade ou data. É frequentemente usado em consultas `SELECT` juntamente com `GROUP BY` para resultados agregados.

SELECT MAX(column_name)
FROM table_name
[WHERE condition];

Nessa sintaxe, `MAX(nome_da_coluna)` calcula o maior valor na coluna especificada.

Exemplos

1. Uso básico

SELECT MAX(price)
FROM products;

Essa consulta recupera o preço mais alto da tabela `produtos`.

2. Usando MAX com a cláusula WHERE

SELECT MAX(age)
FROM users
WHERE active = TRUE;

Aqui, a consulta encontra a idade máxima somente entre os usuários ativos, adicionando uma condição de filtro ao cálculo.

3. MAX com GROUP BY

SELECT department, MAX(salary)
FROM employees
GROUP BY department;

Este exemplo calcula o salário mais alto em cada departamento, usando a cláusula `GROUP BY` para agrupar os resultados por departamento.

4. Manipulação de valores NULL

SELECT MAX(score)
FROM results;

Essa consulta encontra a pontuação máxima na tabela `results`, ignorando quaisquer valores `NULL` presentes, pois o `MAX` ignora inerentemente os valores `NULL`.

5. Usando MAX em uma subconsulta

SELECT name, salary
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees);

Essa consulta recupera o nome e o salário do(s) funcionário(s) com o salário mais alto usando uma subconsulta.

Dicas e práticas recomendadas

  • Use com WHERE para obter resultados específicos. Aplique uma cláusula `WHERE` para filtrar os dados antes de aplicar `MAX` para obter resultados mais precisos.
  • Combine com GROUP BY para obter dados agrupados. Use `MAX` com `GROUP BY` para encontrar valores máximos em diferentes categorias ou grupos.
  • Considere os valores NULL. Lembre-se de que o `MAX` ignora os valores `NULL`, portanto, certifique-se de que esse comportamento esteja alinhado aos requisitos de dados que você tem.
  • Otimize o desempenho. Use índices nas colunas envolvidas nos cálculos de `MAX` para melhorar o desempenho da consulta, reduzindo o tempo de varredura, especialmente em grandes conjuntos de dados.
  • Explorar consultas complexas. Considere o uso de `MAX` em subconsultas ou em conjunto com outras funções de agregação para tarefas de análise de dados mais abrangentes.