La función de agregación SQL MAX devuelve el valor máximo de una columna en un conjunto de registros. La función se puede aplicar a datos numéricos o alfanuméricos. Por ejemplo, es posible encontrar el producto más caro en una tabla de una tienda en línea.
Sintaxis SQL MAX
La sintaxis de la consulta SQL MAX para devolver el valor máximo de la columna «column_name» es la siguiente:
SELECT MAX(nom_columna) FROM tabla
Cuando esta función se usa junto con el comando GROUP BY , la consulta puede parecerse al siguiente ejemplo:
SELECT columna1, MAX(columa2)
FROM tabla
GROUP BY columna1
Ejemplo sql max
Podemos usar la siguiente consulta para obtener el código ID máximo de esa tabla.
Ejemplo 2 obtener el precio más alto con una consulta SQL
Podemos usar la función SQL Max para obtener el precio máximo de esa tabla.
SELECT MAX(ProductPrecio)
FROM Producto;
+————————————+
| Resultado: |
|————————————|
| 245,00 |
+————————————+
En este caso, la información del precio se almacena en la ProductPrecio, por lo que la pasamos como argumento a la función SQL MAX(), que luego calcula y devuelve el resultado.
Uso de alias de columna
Notará que los resultados anteriores select max sql no incluyen un nombre de columna. Algunos DBMS pueden usar algo como MAX(ProductPrecio) el nombre de la columna. Esto es de esperar, porque la función SQL MAX () no devuelve ninguna columna. Puede proporcionar fácilmente un nombre de columna asignando un alias.
SELECT MAX(ProductPrecio) AS Preciomaximo FROM Producto;
Resultado:
+—————-+
| Preciomaximo |
|—————-|
| 245,00 |
+—————-+
Resultados filtrados
La función sql MAX()opera en las filas devueltas por la consulta select max SQL. Entonces, si filtra los resultados, el resultado de MAX()reflejará eso.
SELECT MAX(ProductPrecio) AS Preciomaximo FROM Producto WHERE VendedorId = 1001;
Resultado:
+—————-+
Preciomaximo |
|—————-|
| 50,56 |
+—————-+
En este caso, 50,56 es el precio máximo de todos los productos ofrecidos por el proveedor especificado.
Valores NULL
La función sql MAX() ignora cualquier valor NULL. En nuestra tabla de muestra anterior, el número de producto 6 está NULL en su ProductPrecio, pero eso se ignoró en nuestro MAX()ejemplo.
Según su DBMS y su configuración, es posible que vea o no una advertencia de que los valores NULL se eliminaron en el conjunto de resultados.
Este es un ejemplo de lo que podrías ver:
SELECT MAX(ProductPrice) AS Preciomaximo FROM Products;
Resultado:
+—————-+
| Preciomaximo |
|—————-|
| 245,00 |
+—————-+
Todo esto nos dice que la columna contenía al menos un valor NULL y que se ignoró al calcular los resultados.
Datos de fecha/hora
Puede utilizar la función SQL MAX() para valores de fecha/hora.
Supongamos que tenemos la siguiente tabla:
SELECT Nombre, Fecha FROM mascota;
Resultado:
+———–+—————————————-+
| Nombre | Fecha nacimiento |
|———–+——————————————|
| esponja | 2020-11-20 |
| pie | 2019-08-16 |
| Raya | 2018-10-01 |
| meneo | 2020-03-15 |
| Twittear | 2020-11-28 |
| esponjoso | 2020-09-17 |
| Corteza | NULO |
| Miau | NULO |
+———–+————+
Podemos usar select max en SQL para encontrar la fecha máxima de nacimiento ( Fecha).
SELECT MAX(fecha) AS maxfecha FROM mascota;
Resultado:
+————+
| maxfecha |
|————|
| 2020-11-28 |
+————+
Esta sería la fecha de nacimiento de la mascota más joven. Como se mencionó, ignora cualquier valor NULL. Cuando se usa con columnas de datos de caracteres, MAX() busca el valor más alto en la secuencia de clasificación.
Puntos importantes para usar esta función
- La función MAX solo se aplica a columnas numéricas: Solo puede ser utilizada en columnas que contengan valores numéricos, como enteros, decimales o flotantes. No se puede aplicar a columnas de texto.
- Esta no afecta a los datos originales: Es una función de agregación que solo devuelve un valor resultante, pero no afecta a los datos originales en la tabla.
- Se puede combinar con otras funciones de agregación: como AVG, SUM o MIN, para obtener resultados más detallados y complejos.
- puede utilizarse con cláusulas de filtrado: se puede utilizar con cláusulas de filtrado, como WHERE, para limitar los resultados a un subconjunto específico de datos.
- La función MAX puede ser utilizada en consultas de unión: se puede utilizar en consultas de unión para comparar valores máximos entre varias tablas relacionadas.
En conclusión, la función MAX () es útil en SQL server para obtener el valor máximo de una columna en un conjunto de resultados. Al tener en cuenta estos puntos importantes, puedes usar la función MAX de manera efectiva en tus consultas SQL.