SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:
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);
这将返回所有价格高于平均价格的产品。