返回顶部
首页 > 资讯 > 数据库 >Mysql——SUM()函数
  • 520
分享到

Mysql——SUM()函数

mysql数据库sqljava 2023-08-31 10:08:12 520人浏览 八月长安
摘要

目录 一、前期准备工作 新建表如下: 插入的数据如下: 二、SUM()函数的用法  1.求和,返回指定列的总和 SUM 函数可以对单个列求和,也可以对多个列运算后求和,计算中忽略 NULL 值 SUM函数与分组 GROUP  BY 使用,可

目录

一、前期准备工作

新建表如下:

插入的数据如下:

二、SUM()函数的用法 

1.求和,返回指定列的总和

SUM 函数可以对单个列求和,也可以对多个列运算后求和,计算中忽略 NULL 值

SUM函数与分组 GROUP  BY 使用,可以分组求和

SUM对多个列运算后求和,如果运算的列中有个字段为 NULL, 运算结果也为 NULL

在没有符合条件的数据时使用 SUM 函数,则 SUM 函数返回 NULL,而不是 0

可以通过结合使用 IFNULL 或 COALESCE 函数来解决结果为 NULL 的情况

2.SUM()可以求总记录数

1.SUM(1)相当于COUNT(1)

2.求符合条件的记录数

3.使用如果表达式IF(expr, v1, v2), expr 成立,返回结果 v1;否则,返回结果 v2

3.使用条件表达式


一、前期准备工作

本文基于自己的理解,总结了 SUM() 函数的用法。为了更加直观,我先新建一个 student_table 表并往表里面插入一些数据,方便后面的 sql 举例。如有错误,还请指出。

新建表如下:

CREATE TABLE `student_table` (  `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',  `gender` int DEFAULT '0' COMMENT '性别 0:保密 1:男 2:女',  `id_card` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '身份证号',  `national` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '民族',  `phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系电话',  `score` decimal(10,2) DEFAULT NULL COMMENT '期末总分数',  `describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='学生表';

插入的数据如下:

insert into student_table values(1,'小明','1','111222333444555666','汉族','11122233344','8','zxcvbnm');  insert into student_table values(2,'红红','2','999999999444444444','汉族','99999444444','7','sfsdvsvs');  insert into student_table values(3,'张三','0','666666666888888888','苗族','66666688888','8','gsfwwsfg');  insert into student_table values(4,'李四','0','111111111444444444','苗族','11111144444','6','erefsss');  insert into student_table values(5,'王五','0','333333333777777777','苗族','33333377777','4','lkjgdgsgssftg');  insert into student_table values(6,'小绿',NULL,NULL,NULL,NULL,NULL,NULL);insert into student_table values(7,NULL,NULL,NULL,NULL,NULL,NULL,NULL);


二、SUM()函数的用法 

1.求和,返回指定列的总和

SUM 函数可以对单个列求和,也可以对多个列运算后求和,计算中忽略 NULL 值

SUM函数与分组 GROUP  BY 使用,可以分组求和

SUM对多个列运算后求和,如果运算的列中有个字段为 NULL, 运算结果也为 NULL

( id 不为 NULL,但是 score 为 NULL ,运算的结果也为 NULL )

在没有符合条件的数据时使用 SUM()函数,或者当莫一列全是NULL时,则 SUM()函数返回 NULL,而不是 0

可以通过结合使用 IFNULL 或 COALESCE 函数来解决结果为 NULL 的情况

这两个函数的区别:

  • IFNULL 函数接受两个参数,如果第一个参数不是 null 会直接返回,如果第一个参数是 null ,则返回第二个参数
  • COALESCE 函数可以接受两个或多个参数,并返回第一个非 null 的参数,如果所有参数都为 null,则会返回 null
  • 参考:Mysql使用sum()函数返回null的问题详解-云海天教程

2.SUM()可以求总记录数

1.SUM(1)相当于COUNT(1)

2.求符合条件的记录数

3.使用如果表达式IF(expr, v1, v2), expr 成立,返回结果 v1;否则,返回结果 v2

true 等同于 1

下面的语句是分数大于 5 的返回 2 

3.使用条件表达式

CASEWHEN 条件1 THEN 选项1WHEN 条件2 THEN 选项2……ELSE 默认值END

来源地址:https://blog.csdn.net/m0_63725962/article/details/130767267

您可能感兴趣的文档:

--结束END--

本文标题: Mysql——SUM()函数

本文链接: https://www.lsjlt.com/news/385189.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作