iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何在MySQL中使用sum函数
  • 722
分享到

如何在MySQL中使用sum函数

2023-06-14 06:06:45 722人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何在MySQL中使用sum函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。语法分析SUM([DISTINCT] expr) [over_clause]Retu

这篇文章将为大家详细讲解有关如何在MySQL中使用sum函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

语法分析

SUM([DISTINCT] expr) [over_clause]

  • Returns the sum of expr. If the return set has no rows, SUM() returns NULL. The DISTINCT keyWord can be used to sum only the distinct values of expr.

  • If there are no matching rows, SUM() returns NULL.

  • This function executes as a window function if over_clause is present.

上面几句是Mysql官方文档的一个功能描述。这里翻译一下大致的意思是什么。

  • 返回expr表达式的和。如果没有返回行数,则返回NULL。这里的DISTINCT是为了去掉表达式expr中的重复值。

  • 如果没有匹配到行,该函数也返回NULL。

  • 如果设置了over_clause,则该函数作为窗口函数执行。对窗口函数不熟悉的,可以去了解一下mysql中的窗口函数。

函数解释

在使用该函数时,我们应该思考一下,该函数是如何统计表达式中的和呢?可能有的程序员会想,这个函数直接去统计满足条件中所有行的总和。这么理解其实也没错,只是表达的不是很准确或者他不够真实了解运行原理。
实际上该函数是根据匹配行的值,一个一个累加起来的。这里举个例子,在一个订单表中满足条件的有10行数据,我们需要统计订单中的总价,sum的初始值是0,在匹配到第一行时,订单价格是10,此时sum就变成10,匹配到第二行,订单价格是20,这时候sum就是30。第三行订单价格是50,这时候sum就是80。按照这种方式依次累加。

行数订单价格sum值
第一行10.0010.00
第二行20.0030.00
第三行30.0060.00
第四行40.00100.00
第五行50.00150.00
第...行......
第十行100.00550.00

实例演示

假设有下面一张表(Delivery),表结构如下:

+-----------------------------+---------+| Column Name   | Type |+-----------------------------+---------+| delivery_id   | int || customer_id   | int || order_date   | date || customer_pref_delivery_date | date || order_money   | decimal |+-----------------------------+---------+

delivery_id 是表的主键。

该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。
里面有如下数据:

+-------------+-------------+------------+-----------------------------+-------------+| delivery_id | customer_id | order_date | customer_pref_delivery_date | order_money |+-------------+-------------+------------+-----------------------------+-------------+| 1  | 1  | 2019-08-01 | 2019-08-02   | 1.23 || 2  | 5  | 2019-08-02 | 2019-08-02   | 1.01 || 3  | 1  | 2019-08-11 | 2019-08-11   | 1.09 || 4  | 3  | 2019-08-24 | 2019-08-26   | 1.00 || 5  | 4  | 2019-08-21 | 2019-08-22   | 10.00 || 6  | 2  | 2019-08-11 | 2019-08-13   | 12.09 |+-------------+-------------+------------+-----------------------------+-------------+

实例一

统计出该表中所有的订单总金额。这里就很简单了,也是我们常用的使用方式,直接sum()参数填写某一个列就行了。按照上面的语法规则应该是一个表达式,实际上一列也是一个表达式。

select sum(order_money) from Delivery;

实例二

写一条 sql 查询语句获取即时订单所占的百分比, 保留两位小数。这个可能就有一点点难度了,因为你很少用这个语法,如果你用过,就会发现也很简单。

首先你要理解,既然是查询某一个类型的占比,肯定就需要统计总和。我们可以分别去统计到订单总和sum1,然后再去统计即时订单总和sum1,然后再去统计即时订单总和sum1,然后再去统计即时订单总和sum2。然后在相除就可以了。但是这里明确要求一条SQL语句。那该如何解决呢?

这里就需要你深入了解一下sum的运行原理,我们可以设想我们一行一行的去读取数据,然后让sum一行一行的累计起来,是不是就可以得到sum2的综合了?至于sum2的综合了?至于sum2的综合了?至于sum1肯定很好统计,直接是表中行数的综合。

题解方式一:

select round ( sum(case when order_date = customer_pref_delivery_date then 1 else 0 end) / count(*) * 100, 2) as immediate_percentagefrom Delivery

题解方式二:

select round ( sum(order_date = customer_pref_delivery_date) / count(*) * 100, 2) as immediate_percentagefrom Delivery

这里当sum表达式满足条件,返回1,每次读到满足的一行数据,sum都加1,最后数据读完sum也就加完了。因此满足条件的总条数就出来了。

关于如何在MySQL中使用sum函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何在MySQL中使用sum函数

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在MySQL中使用sum函数
    这篇文章将为大家详细讲解有关如何在MySQL中使用sum函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。语法分析SUM([DISTINCT] expr) [over_clause]Retu...
    99+
    2023-06-14
  • mysql中sum()函数如何用
    本篇内容主要讲解“mysql中sum()函数如何用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中sum()函数如何用”吧! ...
    99+
    2024-04-02
  • 我们如何使用 MySQL SUM() 函数?
    MySQL SUM 函数用于计算多条记录中某个字段的总和。要理解 SUM() 函数,请考虑一个“employee_tbl”表,该表具有以下记录 -mysql> SELECT * FROM employee_tbl; +----...
    99+
    2023-10-22
  • PostgreSQL 中sum()函数如何使用
    这篇文章将为大家详细讲解有关PostgreSQL 中sum()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PostgreSQL的SUM函数用来...
    99+
    2024-04-02
  • thinkphp中Sum函数怎么使用
    今天小编给大家分享一下thinkphp中Sum函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基本语法ThinkP...
    99+
    2023-07-05
  • 如何在PHP中使用MySQL函数
    在PHP应用程序中,数据库管理是至关重要的。与MySQL数据库的集成是PHP开发者应该掌握的技能之一。MySQL是一个流行的开放源代码数据库管理系统,PHP为其提供了广泛的支持。PHP程序员们可以利用MySQL函数,与MySQL数据库集成,...
    99+
    2023-05-18
    函数 MySQL PHP
  • 如何在MySql中使用Date函数
    这期内容当中小编将会给大家带来有关如何在MySql中使用Date函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。NOW()   返回当前的日期和时间...
    99+
    2024-04-02
  • 如何在 MySQL 中使用 COALESCE 函数
    1. 简介 在 MySQL 中,COALESCE 函数可以用来返回参数列表中的第一个非空值。如果所有参数都为空,则返回 NULL。本文将介绍 COALESCE 函数的语法和用法,并通过示例演示其效果。 2. 语法 COALESCE 函数的语...
    99+
    2023-09-26
    java 数据库 开发语言
  • Mysql中函数如何在dm中使用
    这篇文章主要介绍Mysql中函数如何在dm中使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、问题1、mysql中存在FIND_IN_SET函数,但是在dm中是不存在的。解决办法...
    99+
    2024-04-02
  • 在MySQL中如何使用IF函数
    MySQL中的IF函数是一个非常常用的函数,它的作用是根据给定的条件返回不同的结果。IF函数通常用于在查询语句中进行条件判断和结果返回,常用于IF-THEN-ELSE语句的替代。下面将...
    99+
    2024-02-22
    mysql 用法 if函数
  • oracle中sum函数的使用方法
    sum 函数在 oracle 中计算一系列值的总和。语法:sum(expression),其中 expression 为数值表达式或列名。它可以对一列中的所有行值进行求和,或通过 whe...
    99+
    2024-04-30
    oracle
  • 如何在MySQL中使用LOAD_FILE()函数
    如何在MySQL中使用LOAD_FILE()函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在MySQL中,LOAD...
    99+
    2024-04-02
  • 如何在 MySQL 中使用 IFNULL() 函数代替 COALESCE() 函数?
    我们知道,如果第一个参数不为 NULL,IFNULL() 函数将返回第一个参数,否则返回第二个参数。另一方面,COALESCE() 函数将返回第一个非 NULL 参数。实际上,如果参数数量只有两个,MySQL 中的 IFNULL() 和 C...
    99+
    2023-10-22
  • 我们如何将 MySQL SUM() 函数与 HAVING 子句一起使用?
    通过将 MySQL SUM() 函数与 HAVING 子句结合使用,它会根据 HAVING 子句后给出的特定条件过滤结果。要理解上述概念,请考虑一个“employee_tbl”表,该表具有以下记录 -mysql> SE...
    99+
    2023-10-22
  • 我们如何将 MySQL SUM() 函数与 HAVING 子句一起使用
    在使用MySQL的SUM()函数时,你可以将它与HAVING子句一起使用,以筛选出满足特定条件的汇总结果。下面是一个示例,演...
    99+
    2023-10-20
    MySQL
  • Mysql中使用sum()函数返回null报错怎么解决
    本篇内容介绍了“Mysql中使用sum()函数返回null报错怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!介绍SUM()函数用于计...
    99+
    2023-06-29
  • 如何在MySQL中使用count聚合函数
    如何在MySQL中使用count聚合函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、 基本使用count的基本作用是有两个:统计某个列的...
    99+
    2024-04-02
  • c++中sum函数怎么用
    c++ 中的 sum 函数可对容器中元素进行相加,返回结果。具体步骤如下:确定容器类型,例如向量、列表或数组。获取指向容器第一个元素的迭代器。使用 std::accumulate 函数,...
    99+
    2024-05-06
    c++
  • sql中sum函数怎么用
    sql中的sum()函数用于计算数字列的总和。它可以根据指定列、过滤条件、别名、分组和聚合多个列来计算总和,但仅处理数字值,忽略null值。 SQL 中 SUM() 函数的使用 SQL...
    99+
    2024-05-02
    聚合函数
  • mysql sum(if())和count(if())如何使用
    这篇“mysql sum(if())和count(if())如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作