mysql求和函数是什么

2021-12-28 17:31:15 IT技术网 互联网
浏览

mysql求和函数有两种:1、count()函数,用于统计查询结果中的行数;2、sum()函数,用于计算某一字段中所有行的数值之和。

本文操作环境:windows7系统、mysql 5.7版本、Dell G3电脑。

mysql求和函数是什么?

count() 函数和 sum() 函数

他们的用法和区别:

1、mysql 数据库中 count() 函数是统计查询结果中的行数,例如我们有下表 user_auth

67e315670c9dd214a0dece50136e99c.png

使用 count() 函数来查询结果个数,使用如下查询:

mysql > select count(*) from user_auth ;

17cf9476772d3d7bcb1019dc37cb2bd.png

注意的是,count 会忽略掉 NULL 的结果, 所以 count(字段名) 这样使用的话,如果字段中包含为null的结果,将导致查询结果不准确,我们将表中数据更改如下:

4fa1d1a358550e96d217d65e8b651b4.png

此时查询:mysql > select count(user_id) from user_auth;结果如下:

feb02ce2a3e85ea0eb54c780267257e.png

2、mysql sum() 函数用于计算某一字段中所有行的数值之和( sum 求和时会对 null 进行过滤,不计算),例如如下查询:

mysql > select sum(user_id) from user_auth; 结果如下:

3a9f0e5bc8c3c20732cb2964c754a31.png

另外也能使用 sum(条件) 进行对符合条件的结果行数进行求和,如下查询:

mysql > select sum(user_id is null),sum(aid = 1) from user_auth; 结果如下:

f245f0c88b3a3fe6bc3050f09a394e2.png

需要注意的是,如果在没有返回行中使用 sum() 函数,sum 函数的返回值为 null,不是 0,例:

mysql > select sum(user_id) from user_auth where id not in (2,4,6);结果如下:

70eb41fdfb731d2d73fcc9b6deaec14.png

此时使用JDBC或者一些第三方框架进行映射时就会报错,解决办法是:使用IFNULL(sum(user_id),0) 或者 COALESCE(sum(user_id),0) 进行结果的转换。

【相关推荐:mysql视频教程】

以上就是mysql求和函数是什么的详细内容,更多请关注dnjidi.com其它相关文章!