
En este tutorial, aprenderás a usar la función MIN()
de SQL Server para encontrar el valor mínimo en un conjunto de registros o valores.
La función MIN()
de SQL Server es una función agregada que te permite encontrar el valor mínimo en un conjunto de valores, así como las funciones MAX() te permite encontrar el valor máximo, COUNT() te regresa el número de elementos encontrados y AVG() te permite encontrar el promedio.
A continuación, se ilustra la sintaxis de la función MIN()
de SQL Server:
MIN(expression)
La función MIN()
de SQL Server acepta una expresión que puede ser una columna o una expresión válida. La función MIN()
se aplica a todos los valores de un conjunto. Significa que el modificador DISTINCT no tiene efecto para la función MIN()
.
Ten en cuenta que la función MIN()
ignora los valores NULL.
Ejemplos de la función MIN() de SQL Server
Utilizaremos las tablas de productos y categorías de la base de datos de muestra para los ejemplos.
Ejemplo simple de la función MIN() de SQL Server
El siguiente ejemplo encuentra el precio de lista más bajo de todos los productos:
SELECT MIN(list_price) min_list_price
FROM production.products;
Resultado:
min_list_price
--------------
89.99
Para encontrar el producto con el precio más bajo, utiliza la siguiente consulta:
SELECT product_id, product_name, list_price
FROM production.products
WHERE list_price = (SELECT MIN(list_price ) FROM production.products);
Resultado:
product_id product_name list_price
---------- -------------------------------------- ------------
263 Strider Classic 12 Balance Bike - 2018 89.99
Primero, la subconsulta usa la función MIN()
para devolver el precio de lista más bajo, luego la consulta externa encuentra el producto cuyo precio de lista es igual al precio más bajo.
La Función MIN() de SQL Server con la cláusula GROUP BY
La siguiente declaración encuentra el precio de lista más bajo para cada categoría de producto:
SELECT category_name, MIN(list_price) min_list_price
FROM production.products p
INNER JOIN production.categories c
ON c.category_id = p.category_id
GROUP BY category_name
ORDER BY category_name;
Resultado:
category_name min_list_price
----------------- ---------------
Children Bicycles 89.99
Comfort Bicycles 416.99
Cruisers Bicycles 250.99
Cyclocross Bicycles 1549.00
Electric Bikes 1559.99
Mountain Bikes 379.99
Road Bikes 749.99
En este ejemplo:
- Primero, la cláusula GROUP BY divide los productos en grupos por nombre de categoría.
- En segundo lugar, la función MIN() se aplica a cada grupo para encontrar el precio de lista más bajo para cada uno.
Función MIN() de SQL Server con la cláusula HAVING
El siguiente ejemplo utiliza la función MIN()
en la cláusula HAVING para obtener la categoría de producto con el precio de lista mínimo y que sea mayor que 500.
SELECT category_name, MIN(list_price) min_list_price
FROM production.products p
INNER JOIN production.categories c
ON c.category_id = p.category_id
GROUP BY category_name
HAVING MIN(list_price) > 500
ORDER BY category_name;
Resultado:
category_name min_list_price
------------------- ------------------
Cyclocross Bicycles 1549.00
Electric Bikes 1559.99
Road Bikes 749.99
En este tutorial, has aprendido cómo usar la función MIN()
de SQL Server para encontrar el valor mínimo en un conjunto de valores.