SQL 聚合函数

2025年2月12日 | 阅读 5 分钟
DBMS SQL Aggregate Functions
  • SQL 聚合函数用于对表中某一列的多行进行计算。它返回一个单一的值。
  • 它也用于汇总数据。

我们为什么使用聚合函数?

数据库系统的一个关键部分就是聚合函数。它们使我们能够快速有效地对大数据集进行计算。这些任务包括,例如,管理库存水平、生成统计报告和进行财务分析。使用聚合函数还有助于我们更好地理解正在处理的数据。

例如,查找特定时间段的总销售额或计算我们库存中每种产品的平均价格很容易。如果没有聚合函数,我们将不得不手动筛选每一条数据,这将非常繁琐且容易出错。

总而言之,聚合函数对于任何处理大数据并试图从中提取有用数据的人来说都是必不可少的。

SQL 聚合函数的类型


DBMS SQL Aggregate Functions

1. COUNT 函数

  • COUNT 函数用于计算数据库表中行的数量。它可以处理数字和非数字数据类型。
  • COUNT 函数使用 COUNT(*) 来返回指定表中所有行的计数。COUNT(*) 包含重复项和 NULL。

语法

示例表

PRODUCT_MAST

PRODUCTCOMPANYQTYRATE成本
Item1Com121020
Item2Com232575
Item3Com123060
Item4Com351050
Item5Com222040
Item6Cpm132575
Item7Com1530150
Item8Com131030
Item9Com222550
Item10Com3430120

示例:COUNT()

输出

10

示例:带 WHERE 的 COUNT

输出

7

示例:带 DISTINCT 的 COUNT()

输出

3

示例:带 GROUP BY 的 COUNT()

输出

Com1    5
Com2    3
Com3    2

示例:带 HAVING 的 COUNT()

输出

Com1    5
Com2    3

2. SUM 函数

Sum 函数用于计算所有选定列的总和。它仅适用于数字字段。

语法

示例:SUM()

输出

670

示例:带 WHERE 的 SUM()

输出

320

示例:带 GROUP BY 的 SUM()

输出

Com1    150
Com2    170

示例:带 HAVING 的 SUM()

输出

Com1    335
Com3    170

3. AVG 函数

AVG 函数用于计算数值类型的平均值。AVG 函数返回所有非 NULL 值的平均值。

语法

示例

输出

67.00

4. MAX 函数

MAX 函数用于查找某一列的最大值。此函数确定列所有选定值中的最大值。

语法

示例

30 

5. MIN 函数

MIN 函数用于查找某一列的最小值。此函数确定列所有选定值中的最小值。

语法

示例

输出

10

聚合函数示例

SQL 代码

输出

TotalStudents
9
TotalMarks
900
AverageMarks
400
HighestMarks
800
LowestMarks
300

SQL 聚合函数选择题

1. 哪个 SQL 函数常用于获取字符串的特定部分?

  1. substr()
  2. concat()
  3. addString()
  4. upper()

答案:a

解释: 用于提取字符串特定部分的一个常用 SQL 函数是 substr()。

2. 聚合函数是指接受 _ _ _ _ _ 作为输入后返回单个值的函数。

  1. 双精度值
  2. 单精度值
  3. 值集合
  4. 提及的所有内容

答案:c

解释: 聚合函数是对一组值进行计算。

3. 下列哪个函数不是聚合函数?

  1. With
  2. Avg
  3. 求和
  4. 最小值

答案:a

解释: 它不是聚合函数,而是用于建立临时连接。

4. 由于 SQL 在生成组之后在 _ _ _ _ _ 子句中执行谓词,因此可以使用聚合函数。

  1. 其中
  2. With
  3. Group by
  4. Having

答案:b

解释: WITH 子句可以用于定义临时关系,但其定义仅限于包含 WITH 子句的查询。

5. 在 from 子句中,_ _ _ _ _ 关键字用于从先前的表或子查询中获取属性。

  1. Lateral
  2. In
  3. With
  4. Having

答案:a

解释: 在 from 子句中,lateral 关键字用于从先前的表或子查询中获取属性。

6. 如果我们确实希望删除重复项,则在聚合表达式中使用 _ _ _ _ _ 关键字。

  1. Avg
  2. Distinct
  3. 数量
  4. 主键

答案:a

解释: DISTINCT 关键字仅用于从关系中选择唯一的元素。

7. 除了 _ _ _ _ _ 之外,所有聚合函数都会忽略其输入集合中的 NULL 值。

  1. Count(*)
  2. Avg
  3. Count(attribute)
  4. 求和

答案:c

解释: 使用 * 符号可以选择任何值,包括 NULL。

8. 布尔类型的数据接受以下值之一 _ _ _ _ _。

  1. 0
  2. 1
  3. Unknown
  4. Null

答案:c

解释: 布尔类型的数据接受未知值。

结论

在 SQL 中,聚合函数计算多个值并返回一个结果。SQL 中提供了许多聚合函数,例如 avg、count、sum、min、max 等。除了 count 函数外,聚合函数在计算时会忽略 NULL 值。


下一主题DBMS SQL Join