在本教程中,将学习如何使用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()函数来查找一个分组值中的最小值。
						上一篇:
								SQL Server聚合函数
												下一篇:
								SQL Server日期函数
												
						
						
					
					
					