mysql中sum()函数如何用

mysql中,sum()函数用于计算一组值或表达式的总和,语法为“SUM(DISTINCT expression)”,DISTINCT运算符允许计算集合中的不同值。sum()函数需要配合SELECT语句一起使用,如果在没有返回匹配行SELECT语句中使用SUM()函数,则SUM()函数会返回NULL,而不是0;SUM()函数在计算时,会忽略列值为NULL的行。

mysql中sum()函数如何用

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

mysql sum()函数

SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下:

SUM(DISTINCT expression)
参数 描述
expression 必须项。字段或公式

SUM()函数是如何工作的?

  • 如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。

  • DISTINCT运算符允许计算集合中的不同值。

  • SUM()函数在计算时,会忽略列值为NULL的行。

sum()函数的使用示例

为了方便理解,首先创建一个学生成绩表 tb_students_score,学生成绩表的数据内容如下所示

mysql> SELECT * FROM tb_students_score;

mysql中sum()函数如何用

使用sum()函数在 tb_students_score 表中计算学生成绩的总分

mysql> SELECT SUM(student_score) AS score_sum FROM tb_students_score;

mysql中sum()函数如何用

由查询结果可以看到,SUM() 函数返回学生的所有成绩之和为 942。

扩展知识:

MySQL SUM与GROUP BY子句

当与GROUP BY子句组合时,SUM()函数计算GROUP BY子句中指定的每个分组的总和。例如,可以使用具有GROUP BY子句的SUM函数计算每个订单的总金额,如下所示:

SELECT orderNumber,       FORMAT(SUM(quantityOrdered * priceEach),2) totalFROM orderdetailsGROUP BY orderNumberORDER BY SUM(quantityOrdered * priceEach) DESC;

执行上面查询语句,得到以下结果 –

+-------------+-----------+| orderNumber | total     |+-------------+-----------+|       10165 | 67,392.85 ||       10287 | 61,402.00 ||       10310 | 61,234.67 ||       10212 | 59,830.55 |*** 此处省略了一大波数据 *****|       10116 | 1,627.56  ||       10158 | 1,491.38  ||       10144 | 1,128.20  ||       10408 | 615.45    |+-------------+-----------+327 rows in set

MySQL SUM与HAVING

您可以使用HAVING子句中在SUM函数中来根据特定条件过滤结果。例如,您可以计算总订单量,只能选择总金额大于60000的订单。如下查询语句 –

SELECT orderNumber,       FORMAT(SUM(quantityOrdered * priceEach),2)FROM orderdetailsGROUP BY orderNumberHAVING SUM(quantityOrdered * priceEach) > 60000ORDER BY SUM(quantityOrdered * priceEach);

执行上面查询语句,得到以下结果 –

mysql中sum()函数如何用

MySQL SUM与LIMIT

假设您想要计算products表中前十名最昂贵的产品的总和,可以提出以下查询:

SELECT SUM(buyprice)FROM productsORDER BY buyprice DESCLIMIT 10;

执行上面查询语句,得到以下结果 –

mysql中sum()函数如何用

它不起作用,因为具有SUM函数的SELECT语句只返回一行,LIMIT子句约束要返回的行数无效。要解决此问题,请使用以下子查询:

SELECT FORMAT(SUM(buyprice),2) FROM(SELECT buypriceFROM productsORDER BY buyprice DESCLIMIT 10) price;

执行上面查询语句,得到以下结果 –

mysql中sum()函数如何用

上面语句是怎么运行的?子查询选择十大价格较高的产品。外部查询计算从子查询返回的前10个价格较高的产品的总和。

MySQL SUM与NULL

如果没有匹配的行,则SUM函数返回NULL值。 有时,您希望SUM函数返回0而不是NULL。 在这种情况下,可以使用COALESCE函数。COALESCE函数接受两个参数,如果名列前茅个参数为NULL,则返回第二个参数,否则返回名列前茅个参数; 参考以下查询语句:

SELECT COALESCE(SUM(quantityOrdered * priceEach),0)FROM orderdetailsWHERE productCode = 'S1_212121';

执行上面查询语句,得到以下结果 –

mysql中sum()函数如何用

到此,相信大家对“mysql中sum()函数如何用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文章标题:mysql中sum()函数如何用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29846

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月26日 上午1:49
下一篇 2022年9月26日 上午1:50

相关推荐

  • Web Application核心防御机制是什么

    为防止恶意输入,应用程序实施了大量的安全机制,而这些安全机制在概念上都具有相似性。 这些安全机制由以下几个方面组成: 1、处理用户访问web应用程序的数据与功能(防止未授权访问) 2、处理用户对web应用程序功能输入的数据(防止构造恶意数据) 3、应对攻击(处理预料外的报错、自动阻止明显的攻击、自动…

    2022年9月24日
    43900
  • 如何进行APT中的迂回渗透

    引言 随着信息安全行业发展,很多企业,政府以及互联网公司对网络安全越来越重视。习大大指出,没有网络安全就没有国家安全,没有信息化就没有现代化。 众所周知,现在的安全产品和设备以及对网络安全的重视,让我们用常规手段对目标渗透测试的成功率大大降低。当然,对于一些手握0day的团队或者个人来说,成功率还是…

    2022年9月21日
    51200
  • 电脑蓝屏代码0x00000116如何解决

    解决方法: 方法一: 1、需要先重启电脑,看看能不能进入系统,进不去就再重启电脑。 2、然后在开机的时候按住键盘“F8”,进入高级选项菜单,在其中选择进入“安全模式” 3、进入安全模式,按下键盘“win+r”打开运行,输入“devmgmt.msc”回车确定。 4、然后在其中展开显示适配器,右键选中下…

    2022年9月15日
    95000
  • 同时利用多个僵尸网络攻击目标的示例分析

    APT33常以石油和航空业为攻击目标,最近的调查结果显示,该组织一直在使用大约12台经过多重混淆的C&C服务器来攻击特定目标。该组织主要在中东、美国和亚洲地区开展的针对性极强的恶意攻击活动。 每一个僵尸网络由12台以上受感染的计算机组成,用来攻击的恶意软件只有基本的功能,包括下载和运行其他恶…

    2022年9月18日
    51700
  • IDEA如何配置Maven

    一、Maven下载&环境配置 1.下载Maven 2.解压 解压下载好的文件: 创建一个文件夹maven-repository用来充当本地仓库: 3.配置环境变量 新建一个MAVEN_HOME,添加Maven的路径: 编辑Path,新建一个环境变量%MAVEN_HOME%bin: 4.测试 …

    2022年8月30日
    84600
  • imazing请连接apple设备问题怎么解决

    imazing请连接apple设备解决方法 1、当我们打开imazing看到提示“imazing请连接apple设备”,说明我们没有将手机和电脑连接在一起。 2、这时候我们需要用数据线将手机和电脑连接在一起。 3、连上之后应该会出现如下画面,我们只要在手机上点击“信任”就可以了。 4、如果我们之前正…

    2022年9月16日
    63400
  • ai如何转曲图片

    ai转曲图片的方法: 1、首先进入ai,然后新建画布,可以自己调整大小。 2、然后选择里面的“文字工具”。 3、之后输入文字,并且复制3个左右。 4、选择名列前茅个文字,右击点击“创建轮廓”。 5、然后点击“对象”选择“扩展”。 6、调整好了之后点击“确定”。 7、最后选择最后一组的文字,按下“ct…

    2022年9月1日
    1.2K00
  • 知识库是什么

    知识库是关于产品、服务、部门或主题的自助式在线信息库。为了让大家更好的了解知识库是什么这个问题,下面我们将会围绕:1、企业知识库是什么;2、企业为什么需要知识库;3、知识库的好处有哪些;三点进行展开。 知识库中的数据可以来自任何地方。通常,精通相关主题的贡献者会给知识库增加或扩展内容。内容可以是从你…

    2022年3月18日
    64900
  • Android开发怎么自定义实时图表控件

    今天分享文章“Android开发怎么自定义实时图表控件”,主要从:演示、环境、实现、第十一步:绘制等几个方面为大家介绍,希望能帮到您。 演示 环境 开发工具:Android Studio 开发语言:Kotlin 实现 名列前茅步:新建项目RealTimeChartDemo 第二步:新建RealTim…

    2022年6月29日
    49100
  • 项目管理是什么

    为了让大家更好的了解项目管理是什么,本文将围绕:1、什么是项目;2、什么是项目管理;3、项目管理起源;4、项目管理十大知识领域;5、项目管理的5大过程和49个子过程;6、国内外知名的十大项目管理工具;六大模块进行介绍。 一、什么是项目 根据项目管理知识体系指南,它是这样对项目进行定义的:项目是指在既…

    2022年3月19日
    1.1K00
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部