Problema:
Le gustaría encontrar el valor máximo de una columna numérica.
Ejemplo:
Nuestra base de datos tiene una tabla llamada product
con datos en las siguientes columnas:id
, name
, year
y items
.
id | nombre | año | artículos |
---|---|---|---|
1 | panecillo | 2018 | 345 |
2 | chocolate | 2017 | 123 |
3 | mantequilla | 2019 | 34 |
4 | panecillo | 2019 | 456 |
5 | mantequilla | 2018 | 56 |
6 | mantequilla | 2017 | 78 |
7 | chocolate | 2019 | 87 |
8 | chocolate | 2018 | 76 |
Busquemos el número máximo de artículos vendidos durante todos los años.
Solución:
SELECT MAX(items) as max_items FROM product;
Aquí está el resultado:
max_items |
---|
456 |
Discusión:
Para encontrar el valor máximo de una columna, use MAX()
función agregada; toma como argumento el nombre de la columna para la que desea encontrar el valor máximo. Si no ha especificado ninguna otra columna en SELECT
cláusula, el máximo se calculará para todos los registros de la tabla. En nuestro ejemplo, la consulta devuelve el número máximo entre todos los elementos.
Por supuesto, dado que es una función agregada, MAX()
También se puede utilizar con grupos. Por ejemplo, si nos gustaría ver el número máximo de artículos vendidos cada año, podemos escribir esta consulta:
SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
El máximo se calcula para cada grupo:
año | max_items |
---|---|
2018 | 345 |
2017 | 123 |
2019 | 456 |