mysql求和函数语法(求和函数的用法)


多行处理函数又叫分组函数:

1、count:计数

2、sum:求和

3、avg:平均值

4、max:最大值

5、min:最小值

多行处理函数的特点:

1)输入多行,最终输出的结果为1行。

2)分组函数自动忽略null

现在有员工表信息如下:mysql 多行处理函数和单行处理函数

员工表

select count(comm) from emp; //结果:4

可以看出一共有14行记录,但是count(comm)的时候结果等于4,说明count函数自动过滤掉为null的comm字段。

3)有null参数的数学运算结果一定为null

还是上面员工表的信息,我们查询每个员工的年薪,年薪=(工资+补贴)* 12 也就是:

(sal + comm) 12;

select ename , (sal + comm) * 12 as yealsal from emp; mysql 多行处理函数和单行处理函数

员工年薪

从结果中我们可以看到,只要别贴comm为null的,查询出来的年薪也是等于null,这也就说明了只要有null参与的数学运算,结果一定为null。

这个时候我们就需要一个单行处理函数来解决这样的问题:ifnull(‘为null的字段’ , ‘为null的时候当做什么来处理’),所以sql语句可以改成如下:

select ename , (sal + ifnull(comm,0)) * 12 as yealsal from emp; mysql 多行处理函数和单行处理函数

员工年薪

最后我们再来看一个需求来证明:分组函数自动忽略null

计算所有员工的别贴comm总和:select sum(comm) from emp;

在comm别贴字段中,含有为null的值,所有查询的结果应该为null,我们执行并查看结果:mysql 多行处理函数和单行处理函数

员工补贴总和

我们发现结果并不是null,而是自动将为null的值过滤掉了,所以我们再次证明了分组函数会自动过滤null值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论