在本教學中,將學習如何使用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日期函數