SQL中MIN和MAX及常見函數(shù)教程示例
SQL MIN() 和 MAX() 函數(shù)
SQL中的MIN()函數(shù)和MAX()函數(shù)用于查找所選列的最小值和最大值,分別。以下是它們的用法和示例:
MIN() 函數(shù)
MIN()函數(shù)返回所選列的最小值。
示例:
查找Products表中的最低價格:
SELECT MIN(Price) FROM Products;
MAX() 函數(shù)
MAX()函數(shù)返回所選列的最大值。
示例:
查找Products表中的最高價格:
SELECT MAX(Price) FROM Products;
語法
MIN()和MAX()函數(shù)的一般語法如下:
SELECT MIN(column_name) FROM table_name WHERE condition; SELECT MAX(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫
以下是示例中使用的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()函數(shù)時,返回的列默認將命名為MIN(field)或MAX(field)。要為列指定新名稱,請使用AS關(guān)鍵字:
示例:
SELECT MIN(Price) AS SmallestPrice FROM Products;
這將返回名為"SmallestPrice"的列,其中包含Products表中的最低價格。
SQL COUNT() 函數(shù)
SQL中的COUNT()函數(shù)用于返回符合指定條件的行數(shù),通常用于統(tǒng)計行的數(shù)量。以下是它的用法和示例:
示例
查找Products表中的產(chǎn)品總數(shù):
SELECT COUNT(*) FROM Products;
語法
COUNT()函數(shù)的一般語法如下:
SELECT COUNT(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫
以下是示例中使用的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 的產(chǎn)品數(shù)量:
SELECT COUNT(ProductID) FROM Products WHERE Price > 20;
指定列名
您可以指定列名而不是使用星號(*)。
如果指定列名,將不會計算NULL值。
示例
查找ProductName不為NULL的產(chǎn)品數(shù)量:
SELECT COUNT(ProductName) FROM Products;
如果表中包含NULL值,您可以使用IS NOT NULL條件來排除NULL值。例如:
SELECT COUNT(ProductName) FROM Products WHERE ProductName IS NOT NULL;
忽略重復項
您可以使用COUNT函數(shù)中的DISTINCT關(guān)鍵字來忽略重復項。
如果指定DISTINCT,具有相同值的行將被計為一行。
示例
Products表中有多少不同的價格:
SELECT COUNT(DISTINCT Price) FROM Products;
使用別名
您可以使用AS關(guān)鍵字為計數(shù)列指定別名。
示例
將計數(shù)列命名為 "記錄數(shù)":
SELECT COUNT(*) AS "記錄數(shù)" FROM Products;
使用別名可以使結(jié)果集的列名更具可讀性。
SQL SUM() 函數(shù)
SQL中的SUM()函數(shù)用于返回數(shù)值列的總和,通常用于計算某一列的總值。以下是它的用法和示例:
示例
返回OrderDetails表中所有Quantity字段的總和:
SELECT SUM(Quantity) FROM OrderDetails;
語法
SUM()函數(shù)的一般語法如下:
SELECT SUM(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫
以下是示例中使用的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的產(chǎn)品所生成的訂單數(shù)量:
SELECT SUM(Quantity) FROM OrderDetails WHERE ProductID = 11;
使用別名
您可以使用AS關(guān)鍵字為總結(jié)列指定別名。
示例
將列命名為 "總計":
SELECT SUM(Quantity) AS total FROM OrderDetails;
使用別名可以使結(jié)果集的列名更具可讀性。
使用表達式的 SUM()
SUM()函數(shù)內(nèi)的參數(shù)也可以是一個表達式。
如果我們假設OrderDetails列中的每個產(chǎn)品價格為10美元,我們可以通過將每個數(shù)量乘以10來找到以美元計算的總收入:
示例
在SUM()括號內(nèi)使用表達式:
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() 函數(shù)
SQL中的AVG()函數(shù)用于返回數(shù)值列的平均值。通常,它用于計算某一列的平均值。以下是AVG()函數(shù)的用法和示例:
示例
查找所有產(chǎn)品的平均價格:
SELECT AVG(Price) FROM Products;
語法
AVG()函數(shù)的一般語法如下:
SELECT AVG(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫
以下是示例中使用的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中產(chǎn)品的平均價格:
SELECT AVG(Price) FROM Products WHERE CategoryID = 1;
使用別名
您可以使用AS關(guān)鍵字為平均列指定別名。
示例
將列命名為 "平均價格":
SELECT AVG(Price) AS [平均價格] FROM Products;
高于平均價格
要列出所有價格高于平均價格的記錄,我們可以在子查詢中使用AVG()函數(shù):
示例
返回價格高于平均價格的所有產(chǎn)品:
SELECT * FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
這將返回所有價格高于平均價格的產(chǎn)品。
以上就是SQL中MIN和MAX及常見函數(shù)教程示例的詳細內(nèi)容,更多關(guān)于SQL MIN MAX常見函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳細介紹mysql中l(wèi)imit與offset的用法
mysql查詢使用select命令,配合limit,offset參數(shù)可以讀取指定范圍的記錄,下面這篇文章主要給大家介紹了關(guān)于mysql中l(wèi)imit與offset用法的相關(guān)資料,需要的朋友可以參考下2022-05-05
MySQL中g(shù)roup_concat函數(shù)用法小結(jié)
MySQL中g(shù)roup_concat函數(shù)用于將groupby產(chǎn)生的同一個分組中的值連接成一個字符串,支持去重、排序和自定義分隔符,需要的朋友們下面隨著小編來一起學習學習吧2024-11-11
MySQL如何快速的創(chuàng)建千萬級測試數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于MySQL如何快速的創(chuàng)建千萬級測試數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05

