为了账号安全,请及时绑定邮箱和手机立即绑定

SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示

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美元:

示例

OrderDetailsProducts连接,并使用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);

这将返回所有价格高于平均价格的产品。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消