SQL Server Min()函数

在本教程中,将学习如何使用SQL Server MIN()函数来查找集合中的最小值。

SQL Server MIN()函数是一个聚合函数,用于在集合中查找最小值。 以下是MIN()函数的语法:

MIN(expression)

MIN()函数接受可以是列或有效表达式的表达式。 MIN()函数适用于集合中的所有值。 这意味着DISTINCT修饰符对MIN()函数没有影响。

注意,MIN()函数忽略NULL值。

SQL Server MIN()函数示例

下面将使用示例数据库中的productscategories表进行演示。

产品和分类表结构

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日期函数