MIN()函数返回所选列的最小值。
示例:
查找Products表中的最低价格:
SELECT MIN(Price) FROM Products;
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()函数用于返回符合指定条件的行数,通常用于统计行的数量。以下是它的用法和示例:
查找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子句以指定条件:
示例
查找价格高于 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()函数用于返回数值列的总和,通常用于计算某一列的总值。以下是它的用法和示例:
返回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子句以指定条件:
示例
返回具有ProductID为11的产品所生成的订单数量:
SELECT SUM(Quantity) FROM OrderDetails WHERE ProductID = 11;
您可以使用AS关键字为总结列指定别名。
示例
将列命名为 “总计”:
SELECT SUM(Quantity) AS total FROM OrderDetails;
使用别名可以使结果集的列名更具可读性。
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()函数用于返回数值列的平均值。通常,它用于计算某一列的平均值。以下是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子句以指定条件:
示例
返回类别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,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注