本章的主题是“汇总数据”,介绍什么是SQL聚集函数,以及如何利用它们汇总表的数据。
警告
- AVG只能用来确定特定数值列的平均值,列名必须作为参数给出。为了获得多个列的平均值,必须使用多个AVG函数。
- AVG函数忽略列值为NULL的行。
- MAX函数忽略列值为NULL的行。
- MIN函数忽略列值为NULL的行。
- SUM函数忽略列值为NULL的行。
- DISTINCT只能用于COUNT(column),不能用于COUNT(*)。
- 在指定别名以包含某个聚集函数的结果时,不应该使用表中实际的列名。
提示
- COUNT函数有两种使用方式:COUNT(*)对表中行的书目进行计数,不管列中包含的是空值(NULL)还是非空值;COUNT(column)对特定列中具有的行进行计数,忽略NULL值。
- 可以为聚集函数指定DISTINCT,表明只包含不同的值。
聚集函数
我们经常需要汇总数据而不用把它们实际检索出来,为此SQL提供了专门的函数。使用这些函数,SQL查询可用于检索数据,以便分析和报表生成。例子有:
- 确定表中行数
- 获得表中某些行的和
- 找出最大值、最小值、平均值。
SQL的聚集函数在各种主要SQL实现中得到了相当一致的支持。这些函数很高效,它们返回结果一般比你在自己的客户端应用程序中计算要快得多。