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

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

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

  1、count:计数

  2、sum:求和

  3、avg:平均值

  4、max:最大值

  5、min:最小值

  多行处理函数的特点:

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

  2)分组函数自动忽略null

  现在有员工表信息如下:

  员工表

  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;

  员工年薪

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

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

  select ename , (sal + ifnull(comm,0)) * 12 as yealsal from emp;

  员工年薪

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

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

  在comm别贴字段中,含有为null的值,所有查询的结果应该为null,我们执行并查看结果:

  员工补贴总和

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

推荐阅读