Mysql中SUM()函数使用方法

 更新时间:2023年08月07日 11:14:01   作者:程序员这么可爱  
这篇文章主要给大家介绍了关于Mysql中SUM()函数使用的相关资料,MySQL 的 SUM 函数可以用来对某个列进行求和,但是如果你想要按照某个条件进行求和,可以使用带有WHERE子句的SUM函数,需要的朋友可以参考下

一、前期准备工作

本文基于自己的理解,总结了 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 )

2.在没有符合条件的数据时使用 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.使用条件表达式

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

总结

到此这篇关于Mysql中SUM()函数使用方法的文章就介绍到这了,更多相关Mysql SUM()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL面试题:求时间差之和(有重复不计)

    SQL面试题:求时间差之和(有重复不计)

    这篇文章主要介绍了SQL面试题:求时间差之和(有重复不计),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 深入了解SQL注入

    深入了解SQL注入

    本篇文章通过SQL和MYSQL的对比,以及SQL注入的原理等方面详细分析了SQL注入相关知识点,对此有兴趣的朋友学习下。
    2018-02-02
  • 通过DML更新MySQL数据库数据的示例代码

    通过DML更新MySQL数据库数据的示例代码

    这篇文章主要给大家介绍了如何通过DML更新MySQL数据库的数据,通过DML来对数据库种地表的数据记录进行增删改查操作,文中给大家了详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2024-01-01
  • Mysql的DQL查询操作全面分析讲解

    Mysql的DQL查询操作全面分析讲解

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • 获取MySQL的表中每个userid最后一条记录的方法

    获取MySQL的表中每个userid最后一条记录的方法

    这篇文章主要介绍了获取MySQL的表中每个userid最后一条记录的方法,并且针对userid不唯一的情况,需要的朋友可以参考下
    2015-05-05
  • Mysql 用户权限管理实现

    Mysql 用户权限管理实现

    MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。本文就来介绍一下Mysql 用户权限管理实现,感兴趣的可以了解一下
    2021-05-05
  • mysql 5.5 开启慢日志slow log的方法(log_slow_queries)

    mysql 5.5 开启慢日志slow log的方法(log_slow_queries)

    MySQL中提供了一个慢查询的日志记录功能,可以把查询SQL语句时间大于多少秒的语句写入慢查询日志,日常维护中可以通过慢查询日志的记录信息快速准确地判断问题所在
    2016-05-05
  • mysql-8.0.15-winx64安装与修改密码方式

    mysql-8.0.15-winx64安装与修改密码方式

    本文提供了详细的MySQL安装步骤,包括下载、安装、配置环境变量、启动服务和初始化数据库,首先,从MySQL官网下载压缩包并解压,其次,将bin目录添加到系统PATH中,接着,创建my.ini文件进行配置,并正确放置于指定目录,通过CMD以管理员身份执行安装和初始化命令
    2024-10-10
  • mysql中mydumper 和 mysqldump 对比使用

    mysql中mydumper 和 mysqldump 对比使用

    MySQL数据库备份工具有其自带的mysqldump,属于mysql官方的一款备份工具。但是第三方备份工具mydumper凭借优越的特点为更多人所使用。下面就通过测试验证它们之间的备份效率。
    2017-05-05
  • 一文详解MySQL主从同步原理

    一文详解MySQL主从同步原理

    这篇文章主要介绍了一文详解MySQL主从同步原理,MySQL主从同步是基于Bin Log实现的,而Bin Log记录的是原始SQL语句,更多相关内容介绍感兴趣的小伙伴可以参考一下
    2022-08-08

最新评论