Skip to content

SQL Min() 函数

MIN() 函数是一个聚合函数(aggregate function),用于返回一组行中表达式的最小值(smallest value)。这个表达式通常是一个列名(column name)。

MIN() 可以用于数值、字符串或日期/时间列。对于字符串,它通常按字母顺序返回第一个值。对于日期,它返回最早的日期/时间。

MIN() 函数会忽略指定列中的 NULL 值。

SELECT MIN(expression) FROM table_name WHERE condition;

expression 通常是一个列名。WHERE 子句是可选的;如果省略,MIN() 将考虑表中的所有行。

我们将使用 Northwind 示例数据库进行演示,重点关注 “Products” 表。

下面是 “Products” 表的部分数据:

产品ID 产品名称 供应商ID 类别ID 单位 价格 发布日期

1 Chais 1 1 10 boxes x 20 bags 18.00 2023-01-15

2 Chang 1 1 24 - 12 oz bottles 19.00 2023-02-20

3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.00 2022-12-05

4 Chef Anton’s Cajun Seasoning 2 2 48 - 6 oz jars 22.00 2023-03-01

5 Chef Anton’s Gumbo Mix 2 2 36 boxes 21.35 2023-01-20

  1. 查找任意产品的最低价格:

以下 SQL 语句查找 “Products” 表中 “Price” 列的最小值。

SELECT MIN(Price) AS SmallestPrice
FROM Products;

根据示例数据(Aniseed Syrup),此查询将返回 10.00。

  1. 查找任意产品的最早发布日期:
SELECT MIN(ReleaseDate) AS EarliestReleaseDate
FROM Products;

根据示例数据,此查询将返回 2022-12-05。

  1. 查找按字母顺序排在首位的产品名称(类别 ID 为 1 的产品):
SELECT MIN(ProductName) AS FirstProductNameInCategory1
FROM Products
WHERE CategoryID = 1;

根据示例数据(Chais, Chang),这将返回 Chais。

实际应用:

MIN() 对于查找数据集中的最低值非常有用,例如最便宜的产品、最早的交易日期或最低分数。像其他聚合函数一样,它通常与 GROUP BY 子句一起使用,以查找不同类别内的最小值(例如,每个产品类别的最低价格)。