前言

在上篇介绍SQL函数的文章中展示了单行函数,下面介绍一下多行函数。多行函数是操作一组数据或者多行记录然后返回一个值。多行函数主要功能有统计人数,统计这一行中的最大值,最小值,平均值等。

多行函数

这里主要介绍的是聚合函数,包括count,max,min,avg,sum。其作用域为每个列。语法格式为select 聚合函数(字段)from 表名。且注意所有null值不参与聚合运算。

count

计算分组的总行数。

max

对分组数据求最大数据。操作类型可以是数字,字符,日期。

min

对分组数据求最小数据。操作类型可以是数字,字符,日期。

sum

对分组数据求和。操作数据类型是数字类型。

avg

对分组数据求平均值。操作数据类型是数字类型。

实例

为实现上述聚合函数,这里创建employees表,利用insert关键字添加数据,再使用select关键字查询数据结果验证聚合函数的功能。

创建后的em表,有id、name、post和salary四个字段。

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_sql

使用insert插入数据。

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_sql_02

使用count()函数。name字段这一列共有四行,所以结果为4。

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_mysql_03

使用max()函数。从salary字段一列中筛选出最大薪资。为5000。

 

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_数据_04

 使用min()函数。我们不难发现post一列中是字符型数据,那么max和min也可以操作字符数据,是按照ASCII码大小比较的。

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_数据库_05

使用sum()函数。如果sum操作的数据类型是字符,不是数字类型,则会返回一个0值。且下面也有警告信息出现。

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_数据_06

使用avg()函数。当操作的是数字类型之后,能返回正常计算的结果,且也没有了警告信息。

 

SQL Server可以在一秒内执行几十甚至上百条数据 sql最多执行多少行_mysql_07

总结

 经过上述实际操作,更能理解到聚合函数的功能,以及能够操作的数据类型。结合生活实际,统计平均薪资,计算入职天数等问题都需要聚合函数的参与,有了他们的帮助,查询计算的速度会快很多。