在本教程中,将学习如何使用SQL Server MIN()
函数来查找集合中的最小值。
SQL Server MIN()
函数是一个聚合函数,用于在集合中查找最小值。 以下是MIN()
函数的语法:
MIN(expression)
MIN()
函数接受可以是列或有效表达式的表达式。 MIN()
函数适用于集合中的所有值。 这意味着DISTINCT
修饰符对MIN()
函数没有影响。
注意,
MIN()
函数忽略NULL
值。
SQL Server MIN()函数示例
下面将使用示例数据库中的products
和categories
表进行演示。
1. SQL Server MIN()函数简单的例子
以下示例查找所有产品的最低价格:
SELECT
MIN(list_price) 最低价格
FROM
production.products;
执行上面查询语句,得到以下结果:
要查找价格最低的产品,请使用以下查询:
SELECT
product_id,
product_name,
list_price
FROM
production.products
WHERE
list_price = (
SELECT
MIN(list_price )
FROM
production.products);
执行上面查询语句,得到以下结果:
首先,子查询使用MIN()
函数返回最低的定价,然后外部查询查找其价格等于最低价格的产品。
2. SQL Server MIN()函数带有GROUP BY子句的示例
以下语句查找每个产品类别的最低价格:
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;
执行上面查询语句,得到以下结果:
在这个例子中:
- 首先,GROUP BY子句按类别名称将产品分为组。
- 其次,
MIN()
函数应用于每个分组,以找到每个组的最低价格。
3. SQL Server MIN()带有HAVING子句示例
以下示例使用MIN()
函数与HAVING子句中的来获取最低价格大于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;
执行上面查询语句,得到以下结果:
在本教程中,学习了如何使用SQL Server MIN()
函数来查找一个分组值中的最小值。