# 聚合函数

聚合函数

聚合函数就是将多行数据转换成为一行的函数。需要注意的是他不能够在WHERE子句中使用。

求值的聚合函数

求值的聚合函数有五个,分别是:

  • SUM
  • AVG
  • MAX
  • MIN
  • COUNT

通过名字很容易明白该函数的意思。

这里需要注意的点是SUMAVG只能够用于数值型数据,同时在遇到NULL时,会将其忽略。而MAX MIN几乎可以用于所有的数据类型,例如字符以及日期。

COUNT在使用中也有需要注意的地方就是对于COUNT(*)他不会忽略NULL,而当我们指定某一列为聚合键的时候,NULL将被忽略。

GROUP BY

他的作用是将数据分组。

到目前为止我们可以将SQL的语法顺序总结为:

SELECT->FROM->WHERE->GROUP BY

不过我们需要注意的是,SQL的语法顺序与DBMS的解析执行顺序并不相同,MS的解析顺序为:

FROM->WHERE->GROUP BY->SELECT

当然其中的WHERE以及GROUP BY不是必须的。

然后再看到GROUP BY。我的理解是,在GROUP BY这一步之前是对一整个数据表进行处理:

在他之后,系统将原本完整的数据表按照提供的聚合键拆分成为多个数据表,然后对每个数据表分别执行SELECT子句,之后再将执行结果整合到一起。

正确来讲,每个拆分出来的数据表SELECT后的结果应该只有一行。所以当有GROUP BY子句时SELECT的聚合键只支持:

  1. 字面量
  2. 聚合函数
  3. GROUP BY使用的聚合键对应的列名

同时GROUP BY的数据是无序的。

猜你喜欢

转载自www.cnblogs.com/freesfu/p/11438727.html