SQL中MIN和MAX及常見函數(shù)教程示例
SQL MIN() 和 MAX() 函數(shù)
SQL中的MIN()函數(shù)和MAX()函數(shù)用于查找所選列的最小值和最大值,分別。以下是它們的用法和示例:
MIN() 函數(shù)
MIN()函數(shù)返回所選列的最小值。
示例:
查找Products表中的最低價(jià)格:
SELECT MIN(Price) FROM Products;
MAX() 函數(shù)
MAX()函數(shù)返回所選列的最大值。
示例:
查找Products表中的最高價(jià)格:
SELECT MAX(Price) FROM Products;
語(yǔ)法
MIN()和MAX()函數(shù)的一般語(yǔ)法如下:
SELECT MIN(column_name) FROM table_name WHERE condition; SELECT MAX(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫(kù)
以下是示例中使用的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 |
設(shè)置列名(別名)
當(dāng)使用MIN()或MAX()函數(shù)時(shí),返回的列默認(rèn)將命名為MIN(field)或MAX(field)。要為列指定新名稱,請(qǐng)使用AS關(guān)鍵字:
示例:
SELECT MIN(Price) AS SmallestPrice FROM Products;
這將返回名為"SmallestPrice"的列,其中包含Products表中的最低價(jià)格。
SQL COUNT() 函數(shù)
SQL中的COUNT()
函數(shù)用于返回符合指定條件的行數(shù),通常用于統(tǒng)計(jì)行的數(shù)量。以下是它的用法和示例:
示例
查找Products
表中的產(chǎn)品總數(shù):
SELECT COUNT(*) FROM Products;
語(yǔ)法
COUNT()
函數(shù)的一般語(yǔ)法如下:
SELECT COUNT(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫(kù)
以下是示例中使用的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
子句以指定條件:
示例
查找價(jià)格高于 20 的產(chǎn)品數(shù)量:
SELECT COUNT(ProductID) FROM Products WHERE Price > 20;
指定列名
您可以指定列名而不是使用星號(hào)(*
)。
如果指定列名,將不會(huì)計(jì)算NULL
值。
示例
查找ProductName
不為NULL
的產(chǎn)品數(shù)量:
SELECT COUNT(ProductName) FROM Products;
如果表中包含NULL
值,您可以使用IS NOT NULL
條件來(lái)排除NULL
值。例如:
SELECT COUNT(ProductName) FROM Products WHERE ProductName IS NOT NULL;
忽略重復(fù)項(xiàng)
您可以使用COUNT
函數(shù)中的DISTINCT
關(guān)鍵字來(lái)忽略重復(fù)項(xiàng)。
如果指定DISTINCT
,具有相同值的行將被計(jì)為一行。
示例
Products
表中有多少不同的價(jià)格:
SELECT COUNT(DISTINCT Price) FROM Products;
使用別名
您可以使用AS
關(guān)鍵字為計(jì)數(shù)列指定別名。
示例
將計(jì)數(shù)列命名為 "記錄數(shù)":
SELECT COUNT(*) AS "記錄數(shù)" FROM Products;
使用別名可以使結(jié)果集的列名更具可讀性。
SQL SUM() 函數(shù)
SQL中的SUM()
函數(shù)用于返回?cái)?shù)值列的總和,通常用于計(jì)算某一列的總值。以下是它的用法和示例:
示例
返回OrderDetails
表中所有Quantity
字段的總和:
SELECT SUM(Quantity) FROM OrderDetails;
語(yǔ)法
SUM()
函數(shù)的一般語(yǔ)法如下:
SELECT SUM(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫(kù)
以下是示例中使用的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é)列指定別名。
示例
將列命名為 "總計(jì)":
SELECT SUM(Quantity) AS total FROM OrderDetails;
使用別名可以使結(jié)果集的列名更具可讀性。
使用表達(dá)式的 SUM()
SUM()
函數(shù)內(nèi)的參數(shù)也可以是一個(gè)表達(dá)式。
如果我們假設(shè)OrderDetails
列中的每個(gè)產(chǎn)品價(jià)格為10美元,我們可以通過(guò)將每個(gè)數(shù)量乘以10來(lái)找到以美元計(jì)算的總收入:
示例
在SUM()
括號(hào)內(nèi)使用表達(dá)式:
SELECT SUM(Quantity * 10) FROM OrderDetails;
我們還可以將OrderDetails
表與Products
表連接以找到實(shí)際金額,而不是假定為10美元:
示例
將OrderDetails
與Products
連接,并使用SUM()
查找總金額:
SELECT SUM(Price * Quantity) FROM OrderDetails LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
SQL AVG() 函數(shù)
SQL中的AVG()
函數(shù)用于返回?cái)?shù)值列的平均值。通常,它用于計(jì)算某一列的平均值。以下是AVG()
函數(shù)的用法和示例:
示例
查找所有產(chǎn)品的平均價(jià)格:
SELECT AVG(Price) FROM Products;
語(yǔ)法
AVG()
函數(shù)的一般語(yǔ)法如下:
SELECT AVG(column_name) FROM table_name WHERE condition;
演示數(shù)據(jù)庫(kù)
以下是示例中使用的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)品的平均價(jià)格:
SELECT AVG(Price) FROM Products WHERE CategoryID = 1;
使用別名
您可以使用AS
關(guān)鍵字為平均列指定別名。
示例
將列命名為 "平均價(jià)格":
SELECT AVG(Price) AS [平均價(jià)格] FROM Products;
高于平均價(jià)格
要列出所有價(jià)格高于平均價(jià)格的記錄,我們可以在子查詢中使用AVG()
函數(shù):
示例
返回價(jià)格高于平均價(jià)格的所有產(chǎn)品:
SELECT * FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
這將返回所有價(jià)格高于平均價(jià)格的產(chǎn)品。
以上就是SQL中MIN和MAX及常見函數(shù)教程示例的詳細(xì)內(nèi)容,更多關(guān)于SQL MIN MAX常見函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳細(xì)介紹mysql中l(wèi)imit與offset的用法
mysql查詢使用select命令,配合limit,offset參數(shù)可以讀取指定范圍的記錄,下面這篇文章主要給大家介紹了關(guān)于mysql中l(wèi)imit與offset用法的相關(guān)資料,需要的朋友可以參考下2022-05-05MySQL中g(shù)roup_concat函數(shù)用法小結(jié)
MySQL中g(shù)roup_concat函數(shù)用于將groupby產(chǎn)生的同一個(gè)分組中的值連接成一個(gè)字符串,支持去重、排序和自定義分隔符,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11MySQL如何快速的創(chuàng)建千萬(wàn)級(jí)測(cè)試數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于MySQL如何快速的創(chuàng)建千萬(wàn)級(jí)測(cè)試數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05MySQL 用戶權(quán)限與安全管理最佳實(shí)踐
MySQL用戶權(quán)限與安全管理是保障數(shù)據(jù)庫(kù)系統(tǒng)穩(wěn)定與安全的重要環(huán)節(jié),通過(guò)合理設(shè)計(jì)權(quán)限模型、使用 GRANT/REVOKE命令管理權(quán)限、實(shí)施最小權(quán)限原則以及加強(qiáng)密碼,可以大幅降低數(shù)據(jù)庫(kù)被非法訪問(wèn)和數(shù)據(jù)泄露的風(fēng)險(xiǎn),這篇文章主要介紹了MySQL 用戶權(quán)限與安全管理,需要的朋友可以參考下2025-03-03