Mysql——SUM()函数

news2024/10/2 10:33:58

目录

一、前期准备工作

新建表如下:

插入的数据如下:

二、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.求和,返回指定列的总和

1.

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

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

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

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

2.

在没有符合条件的数据时使用 SUM 函数,则 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL调优系列(五)——索引详解

一、索引的定义 数据库索引就像是书前面的目录,能加快数据库的查询速度。 索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 是一种帮助MySQL高效获取数据的数据结构。 ps:大多数情况下,索引查询都是…

计算机图形学 | 实验九:纹理贴图和天空盒

计算机图形学 | 实验九:纹理贴图和天空盒 计算机图形学 | 实验九:纹理贴图和天空盒实验概述顶点数据立方体顶点数据天空盒顶点数组 纹理载入创建纹理纹理读取纹理绑定 使用纹理立方体着色器顶点着色器片元着色器 天空盒着色器顶点着色器片元着色器 立方体…

管好【SD-WEBUI】中大量的模型:模型信息预览插件(Part.3)

文章目录 (零)前言(一)模型预览图(一)模型信息预览插件(Model Preview)(1.1)示例(Markdown描述提示词备注)(1.2&#xff0…

AI大模型驱动下,数字虚拟人与虚拟场景为高等学院建设带来何种改变?

继今年年初美国人工智能研究实验室OpenAI推出ChatGPT(一种人工智能驱动的自然语言处理工具)之后一段时间里,阿里、百度、商汤等一众国内IT巨头纷纷发布了各自的AI大模型(可浅理解为用于AI学习用的超大量数据)&#xff…

运动控制轴单位设置(H5U PLC)

H5U PLC运动控制相关应用,请参看下面博客文章 10轴总线控制(汇川H5UPLC+总线伺服编程应用)_RXXW_Dor的博客-CSDN博客H5UPLC控制总线伺服的详细配置过程,可以参看下面的文章链接:汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服_ethercat总线伺服如何控制_RXXW_Dor的博客-C…

使用MFT进行加密文件传输的7个好处

至少,托管文件传输(MFT)解决方案是一种产品,它包含入站和出站文件传输的所有方面,同时使用行业标准的网络协议和无缝加密。它可以从单个集中管理点在您的网络,系统,应用程序,贸易伙伴…

2024王道数据结构考研丨第二章:线性表

2024王道数据结构考研笔记专栏将持续更新,欢迎 点此 收藏,共同交流学习… 文章目录 第二章:线性表2.1线性表的定义2.2顺序表的定义2.2.1静态分配:2.2.2动态分配 2.2顺序表的基本操作1.插入操作 :平均时间复杂度O(n)2.删除操作&…

小白怎么入门网络安全?看这篇文章就够啦!(2023最新)

作为一名从业多年的网络安全工程师,我了解到,网络安全是一个高度技术密集的领域,它涵盖了网络架构、网络协议、操作系统、编程语言、密码学、安全漏洞、入侵检测和应急响应等多个方面。如果你是零基础的小白,想要进入这个行业&…

5个设计师必备的页面设计工具!

在现代科技飞速发展的时代,设计软件的选择越来越多。本文将盘点 5 大主流页面设计工具其中,即时设计是一款协同页面设计工具,提供在线编辑和保存等功能,同时拥有免费设计素材和在线留言评论等实用功能。它的云端协作设计使得复杂的…

街电入局两轮电动车充电,讲出了“跃迁”式的新故事?

以共享单车为起点,中国的共享经济正蓬勃发展。国家信息中心披露的数据显示,2022年,中国共享经济市场交易规模约38320亿元,同比增长约3.9%。 虽然同属共享经济,但与部分共享单车企业嫁入“豪门”全身而退不同&#xff…

【接口自动化测试】cookie绕过验证码自动登录?(保持登录状态)

目录 前言 cookie工作原理 cookie绕过登录 【自动化测试工程师学习路线】 1、自动化测试必备Python编程内容​ 2、Web UI 自动化测试基础内容​ 3、Web UI 自动化测试实战内容​ 4、APP UI 自动化测试基础内容​ 5、APP UI 自动化测试实战内容​ 6、API 接口自动化测…

实验四 面向对象分析与设计——UML类图与时序图

一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…

ATA-2000系列高压放大器在压电陶瓷中的典型应用

ATA-2000系列高压放大器在压电陶瓷中的典型应用 压电陶瓷介绍: 压电陶瓷是一种能够将机械能和电能互相转换的陶瓷材料。压电陶瓷除具有压电性外,还具有介电性、弹性等,已被广泛应用于医学成像、声传感器、声换能器、超声马达等。压电陶瓷利用其材料在机…

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv71. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步参…

字节跳动测试岗四面总结....

字节一面 1、 简单做一下自我介绍 2、 简要介绍一下项目/你负责的模块/选一个模块说一下你设计的用例 3 、get请求和post请求的区别 4、 如何判断前后端bug/3xx是什么意思 5、 说一下XXX项目中你做的接口测试/做了多少次 6、 http和https的区别 7、 考了几个ADB命令/查看…

NebulaGraph和HugeGraph调研

1、社区资料丰富程度 各平台搜索词条数汇总 图数据库百度搜索必应搜索谷歌搜索CSDN知乎掘金简书语雀githubgiteestackoverflowNebulaGraph261000072600090600128810768131324188202HugeGraph45720001156500530009630170215132811 经过对比,NebulaGraph 在谷歌搜索…

大数据期末复习资料2023 Beta版

大数据单元1在线测试:https://ks.wjx.top/vm/tv3XfFg.aspx# 大数据单元2在线测试:https://ks.wjx.top/vm/QfXBgWP.aspx# 大数据单元3在线测试-1:https://ks.wjx.top/vm/PeLX5WR.aspx# 大数据单元3在线测试-2:https://ks.wjx.top/v…

重磅来袭,ChatGPT官方的掌上神器目前仅支持IOS

今天凌晨,OpenAI 推出了 ChatGPT 的 iOS app,在这个开放的世界里,智能化的 AI 功能早已经突破了人类的想象力。而 ChatGPT 确实不会让我们失望,它的真「iPhone 时刻」来了!从现在起,我们可以在 iPhone 上使…

3面美团测试岗,HR现场直接发20k的offer,我是横着走出来的...

前情提要 这是一个发生在我身上的真实事情: 我工作不到2年,周末在朋友圈发了个喜报,准备入职美团。之后,我的朋友就带着祝福跟我聊了许久,聊天的内容就是具体了解一下我面试的过程,心路历程和未来的打算…

解决方案|电源适配器自动测试系统ATECLOUD-Power

随着电子产品的不断普及,电源适配器的应用越来越广泛。然而,在生产过程中,适配器电源的质量是至关重要的。为了确保电子产品的质量,适配器电源需要经过严格的测试和验证。传统的适配器电源测试方法需要大量的人力和时间&#xff0…