Tiempo de lectura:3 Minutos, 0 Segundos

La función MAX en PostgreSQL devuelve el valor máximo de un conjunto de valores. Esta función se puede utilizar con campos de tipo numérico, cadena, fecha/hora o enumeración, así como en campos inet, interval, money, oid, pg_lsn, tid y matrices de cualquiera de estos tipos. La función MAX está englobada en las denominadas funciones de agregación.

Sintaxis

La sintaxis de la función MAX es la siguiente:

La función MAX no es exclusiva de la cláusula SELECT. También es posible utilizarla en las cláusulas WHERE y HAVING.

Ejemplos

Usaremos la siguiente tabla llamada empleados para realizar los ejemplos (al final de la página esta disponible el script para crearla)

Ejemplo básico

En el siguiente ejemplo obtenemos el mayor sueldo de la tabla empleados:

Ejemplo agrupando

En este otro ejemplo obtenemos el valor máximo por cada puesto. Observa como necesitamos establecer una agrupación usando GROUP BY:

Recuerda que si en la cláusula SELECT escribes mas campos que no usen la función de agregación, debes incluirlos en el GROUP BY.

Ejemplo con subconsulta

En este ejemplo utilizamos una subconsulta que nos devuelve el sueldo máximo de la tabla empleados para despues mostrar todos los datos de los empleados que tengas dicho sueldo:

Recuerda que en un consulta siempre se evalúa primero la cláusula FROM seguido del WHERE y por ultimo la cláusula SELECT. Más información aquí.

Ejemplo con HAVING

En este otro ejemplo mostramos el sueldo máximo agrupado por nombre, pero utilizamos la cláusula HAVING para indicar que el máximo sueldo debe ser menos de 80000:

La cláusula HAVING actúa como un WHERE, con la diferencia que debe utilizar funciones de agregación.

Ejemplo con fechas

Si se utiliza con fechas nos devolverá la máxima fecha como en el siguiente ejemplo:

Ejemplo con cadenas

Si se utiliza con cadenas nos devolverá la ultima cadena ordenada alfabéticamente como en el siguiente ejemplo:

Ejemplo completo

Copia y pega el siguiente código en tu consola de PostgreSQL y realiza paso a paso leyendo los comentarios:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

Perfiles en Redes Sociales