SQL MIN() 和 MAX() 函數
SQL中的MIN()函數和MAX()函數用于查找所選列的最小值和最大值,分別。以下是它們的用法和示例:
MIN() 函數
MIN()函數返回所選列的最小值。
示例:
查找Products表中的最低價格:
SELECT MIN(Price)
FROM Products;
MAX() 函數
MAX()函數返回所選列的最大值。
示例:
查找Products表中的最高價格:
SELECT MAX(Price)
FROM Products;
語法
MIN()和MAX()函數的一般語法如下:
SELECT MIN(column_name)
FROM table_name
WHERE condition;SELECT MAX(column_name)
FROM table_name
WHERE condition;
演示數據庫
以下是示例中使用的Products表的一部分:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
設置列名(別名)
當使用MIN()或MAX()函數時,返回的列默認將命名為MIN(field)或MAX(field)。要為列指定新名稱,請使用AS關鍵字:
示例:
SELECT MIN(Price) AS SmallestPrice
FROM Products;
這將返回名為"SmallestPrice"的列,其中包含Products表中的最低價格。
SQL COUNT() 函數
SQL中的COUNT()
函數用于返回符合指定條件的行數,通常用于統計行的數量。以下是它的用法和示例:
示例
查找Products
表中的產品總數:
SELECT COUNT(*)
FROM Products;
語法
COUNT()
函數的一般語法如下:
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
演示數據庫
以下是示例中使用的Products
表的一部分:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
添加 WHERE 子句
您可以添加WHERE
子句以指定條件:
示例
查找價格高于 20 的產品數量:
SELECT COUNT(ProductID)
FROM Products
WHERE Price > 20;
指定列名
您可以指定列名而不是使用星號(*
)。
如果指定列名,將不會計算NULL
值。
示例
查找ProductName
不為NULL
的產品數量:
SELECT COUNT(ProductName)
FROM Products;
如果表中包含NULL
值,您可以使用IS NOT NULL
條件來排除NULL
值。例如:
SELECT COUNT(ProductName)
FROM Products
WHERE ProductName IS NOT NULL;
忽略重復項
您可以使用COUNT
函數中的DISTINCT
關鍵字來忽略重復項。
如果指定DISTINCT
,具有相同值的行將被計為一行。
示例
Products
表中有多少不同的價格:
SELECT COUNT(DISTINCT Price)
FROM Products;
使用別名
您可以使用AS
關鍵字為計數列指定別名。
示例
將計數列命名為 “記錄數”:
SELECT COUNT(*) AS "記錄數"
FROM Products;
使用別名可以使結果集的列名更具可讀性。
SQL SUM() 函數
SQL中的SUM()
函數用于返回數值列的總和,通常用于計算某一列的總值。以下是它的用法和示例:
示例
返回OrderDetails
表中所有Quantity
字段的總和:
SELECT SUM(Quantity)
FROM OrderDetails;
語法
SUM()
函數的一般語法如下:
SELECT SUM(column_name)
FROM table_name
WHERE condition;
演示數據庫
以下是示例中使用的OrderDetails
表的一部分:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
添加 WHERE 子句
您可以添加WHERE
子句以指定條件:
示例
返回具有ProductID
為11的產品所生成的訂單數量:
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductID = 11;
使用別名
您可以使用AS
關鍵字為總結列指定別名。
示例
將列命名為 “總計”:
SELECT SUM(Quantity) AS total
FROM OrderDetails;
使用別名可以使結果集的列名更具可讀性。
使用表達式的 SUM()
SUM()
函數內的參數也可以是一個表達式。
如果我們假設OrderDetails
列中的每個產品價格為10美元,我們可以通過將每個數量乘以10來找到以美元計算的總收入:
示例
在SUM()
括號內使用表達式:
SELECT SUM(Quantity * 10)
FROM OrderDetails;
我們還可以將OrderDetails
表與Products
表連接以找到實際金額,而不是假定為10美元:
示例
將OrderDetails
與Products
連接,并使用SUM()
查找總金額:
SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
SQL AVG() 函數
SQL中的AVG()
函數用于返回數值列的平均值。通常,它用于計算某一列的平均值。以下是AVG()
函數的用法和示例:
示例
查找所有產品的平均價格:
SELECT AVG(Price)
FROM Products;
語法
AVG()
函數的一般語法如下:
SELECT AVG(column_name)
FROM table_name
WHERE condition;
演示數據庫
以下是示例中使用的Products
表的一部分:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
添加 WHERE 子句
您可以添加WHERE
子句以指定條件:
示例
返回類別1中產品的平均價格:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
使用別名
您可以使用AS
關鍵字為平均列指定別名。
示例
將列命名為 “平均價格”:
SELECT AVG(Price) AS [平均價格]
FROM Products;
高于平均價格
要列出所有價格高于平均價格的記錄,我們可以在子查詢中使用AVG()
函數:
示例
返回價格高于平均價格的所有產品:
SELECT * FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
這將返回所有價格高于平均價格的產品。
最后
為了方便其他設備和平臺的小伙伴觀看往期文章:公眾號搜索Let us Coding
,或者掃描下方二維碼,關注公眾號,即可獲取最新文章。
看完如果覺得有幫助,歡迎點贊、收藏和關注