Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL MAX

La función `MAX` de PostgreSQL es una función matemática que sirve para encontrar el mayor valor de un conjunto de valores. Se utiliza habitualmente en consultas SQL para obtener el valor máximo de una columna de números o fechas.

Utilización

La función `MAX` se utiliza cuando necesitas identificar el valor más alto de una columna, como encontrar el salario, la edad o la fecha más altos. Se suele utilizar en consultas `SELECT` junto con `GROUP BY` para obtener resultados agregados.

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

En esta sintaxis, `MAX(nombre_columna)` calcula el mayor valor de la columna especificada.

Ejemplos

1. Uso básico

SELECT MAX(price)
FROM products;

Esta consulta recupera el precio más alto de la tabla `productos`.

2. Uso de MAX con la cláusula WHERE

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

Aquí, la consulta busca la edad máxima sólo entre los usuarios activos, añadiendo una condición de filtro al cálculo.

3. MAX con GROUP BY

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

Este ejemplo calcula el salario más alto dentro de cada departamento, utilizando la cláusula `GROUP BY` para agrupar los resultados por departamento.

4. Manejo de valores nulos

SELECT MAX(score)
FROM results;

Esta consulta obtiene la puntuación máxima de la tabla `results`, ignorando cualquier valor `NULL` presente, ya que `MAX` omite intrínsecamente los valores `NULL`.

5. Utilizar MAX en una subconsulta

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

Esta consulta recupera el nombre y el salario del empleado o empleados con el salario más alto utilizando una subconsulta.

Consejos y buenas prácticas

  • Utilízalo con DONDE para obtener resultados específicos. Aplica una cláusula `WHERE` para filtrar los datos antes de aplicar `MAX` para obtener resultados más precisos.
  • Combínalo con GROUP BY para obtener datos agrupados. Utiliza `MAX` con `GROUP BY` para encontrar valores máximos en diferentes categorías o grupos.
  • Considera los valores NULL. Recuerda que `MAX` ignora los valores `NULL`, así que asegúrate de que este comportamiento se ajusta a tus requisitos de datos.
  • Optimiza el rendimiento. Utiliza índices en las columnas implicadas en los cálculos `MAX` para mejorar el rendimiento de la consulta reduciendo el tiempo de exploración, especialmente en conjuntos de datos grandes.
  • Explora consultas complejas. Considera la posibilidad de utilizar `MAX` en subconsultas o junto con otras funciones de agregación para tareas de análisis de datos más exhaustivas.