De agregaciónestándar SQL

MAX

Devuelve el valor más grande entre las filas.

Sintaxis

MAX(<expresión>)

Una función de agregación: devuelve el valor más grande de un grupo de filas. Funciona no solo con números, sino también con fechas (la más tardía) y con texto (el último por orden alfabético). Se salta NULL. Para encontrar el valor más pequeño se usa MIN.

Datos para los ejemplos

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

orders

idcreated_atamount
12026-07-03 10:15:00120.50
22026-07-28 18:40:0080.25
32026-08-09 09:05:00199.99
42026-08-21 14:30:0045.00
52026-09-02 11:00:0064.75

Estas tablas ya están creadas en el entorno de pruebas y los ejemplos de abajo las usan. ¿Quieres repetirlo en tu propia base de datos? Copia el SQL.

El salario más alto
SELECT MAX(salary) AS highest
FROM employees;
highest
1350
El último pedido
SELECT MAX(created_at) AS last_order
FROM orders;
last_order
2026-09-02 11:00:00
El salario más alto de cada departamento
SELECT department,
MAX(salary) AS highest
FROM employees
GROUP BY department
ORDER BY department;
departmenthighest
backend1200
design1200
frontend1350

Ten en cuenta

MAX da un valor, no una fila. SELECT name, MAX(salary) FROM employees es un error, porque name no está en GROUP BY. Quién gana más exactamente lo muestra ORDER BY salary DESC LIMIT 1 o una subconsulta.

Los números guardados como texto se comparan como texto: entre '9' y '10', el mayor es '9'.

No la confundas con GREATEST: esa compara varios valores dentro de una misma fila.

Funciones relacionadas