首页
学习
活动
专区
圈层
工具
发布

MySQL中sum函数解读

文章简介 今天分享一下MySQL中的sum函数使用。...该函数已经成为大家操作MySQL数据库中时常用到的一个函数,这个函数统计满足条件行中指定列的和,想必肯定大家都知道了,本身就没什么讲头了,这篇文章主要是通过几个小案例深入了解一下该函数,以及在做MySQL...对窗口函数不熟悉的,可以去了解一下MySQL中的窗口函数。 函数解释 在使用该函数时,我们应该思考一下,该函数是如何统计表达式中的和呢?可能有的程序员会想,这个函数直接去统计满足条件中所有行的总和。...这里举个例子,在一个订单表中满足条件的有10行数据,我们需要统计订单中的总价,sum的初始值是0,在匹配到第一行时,订单价格是10,此时sum就变成10,匹配到第二行,订单价格是20,这时候sum就是30...首先你要理解,既然是查询某一个类型的占比,肯定就需要统计总和。我们可以分别去统计到订单总和$sum1,然后再去统计即时订单总和$sum2。然后在相除就可以了。但是这里明确要求一条SQL语句。

6.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    比Sum好用10倍,它才是求和函数中的No.1

    在Excel中,有很多求和函数: Sum:数据求和 Sumif : 按条件求和 Sumifs :多条件求和 Sumproduct :多条件求和 Dsum :数据库函数,可多条件求和 在以上5个求和函数中...今天兰色就全面讲解这个最常用的多条件求和函数用法。 先看语法: ? 翻译成中文: =Sumifs(求和区域,判断区域1,条件1,判断区域2,条件2.....)...5、混合条件求和 【例6】统计武汉和天津两个地区产品A的总销量 =SUM(SUMIFS(D:D,B:B,{"武汉";"天津"},C:C,"A")) 注:外面用需要Sum函数进行二次求和 ?...【例7】统计武汉产品A和天津产品B的总销量 =SUM(SUMIFS(D:D,B:B,{"武汉";"天津"},C:C,{"A";"B"})) 注:数组用“;”分隔表示多行,用“,”分隔表示多列 ?...【例7】统计武汉产品A、B和天津产品A、B的总销量 =SUM(SUMIFS(D:D,B:B,{"武汉";"天津"},C:C,{"A","B"})) 兰色注:如果两个条件数组的分隔符不同,条件就会变成或的关系

    2.2K10

    Mysql中的列类型

    Mysql中的列类型: 数字类型 字符串类型 布尔型 日期时间类型 数字类型: 1个字节=8比特,但数字里有一个比特用于符号占位 TINYINT 占用1个字节,表示范围:-128~127 SMALLINT...政治面貌:只能取党员、团员、群众 高考成绩:FLOADT(4,1) 取值有规则 电话、手机号码:有格式要求 用户名:必须唯一 登录密码:密码不能为空字符串且长度不能少于N位 员工所在部门:可取值必须在部门表中存在过...主键约束: 列名 类型 PRIMARY KEY 声明为“主键”的列上不能出现NULL值,且不能重复,如学生编号、商品编号。...唯一约束: 列名 类型 UNIQUE 声明为“唯一”的列上不能出现重复值,但可以出现多个NULL值。...非空约束: 列名 类型 NOT NULL 声明为“非空”约束的列上不能出现NULL,但可以重复 检查约束对于Mysql不支持 默认值约束 列名 类型 Default 值 声明为“默认值”约束的列上没有值的将会默认采用默认设置的值

    11.6K20

    Excel 中的 TRUE 为什么能参与求和,理解 SUM 参数规则并解答这道软考题

    在A1单元格中输入=SUM(TRUE,3,4),按下回车后,得到的结果是8,正确答案为B。这道题最容易出现的误判,是看到TRUE不是普通数字,就把它直接排除,只计算3+4,得出7。...逻辑常量TRUE直接出现在参数列表中,按1参与求和,数值3和数值4正常相加,合计为8。选项C的TRUE,混淆了参数类型与函数结果。函数接收到逻辑参数,不代表结果也必须是逻辑值。...既然B1中的TRUE在=SUM(B1,3,4)里面被忽略,那么=B1+3+4是否也一定得到7。答案是否定的,在B1保存逻辑值TRUE的情况下,后一条公式得到8。...而SUM(B1,3,4)读取引用中的逻辑值时,会将它忽略。这也提醒我们,虽然SUM经常被介绍为代替连续加号的求和函数,但它和加号在所有数据类型上的行为并不完全一致。面对纯数值,两者经常得到相同结果。...B1为FALSE时,B1*1得到数值0,求和结果为7。这个例子与原题有一处细微差别。原题依靠SUM对直接逻辑参数的处理。修改后的公式则先用乘法完成转换,再把数值交给SUM。

    10110

    MySQL 中的日期时间类型

    日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。...TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值。...通过设置 MySQL 相关参数,日期类型可保存原本非法的值,比如开启 ALLOW_INVALID_DATES 设置项时,可设置日期类型保存一个 2009-11-31 值,但正常情况下我们知道 11 月哪来什么...所以 MySQL 是支持将月日设置成 0,比如 2019-00-00。但这种情况下就无法从日期相关的操作中获得到准确的结果,比如使用 DATE_SUB() 或 DATE_ADD() 函数时。...比如给一个日期格式的列设置 10:11:12,虽然这个值看起来像时间类型,但还是可以正确在被解析成目标列的格式,即日期。

    10.6K20

    MySQL中的数据类型

    MySQL中定义数据字段的类型对数据库的优化是非常重要,它支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 数值类型 ? 日期和时间类型 ? 字符串类型 ?...CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同,它们的最大长度和是否尾部空格被保留等方面也不同,在存储或检索过程中不进行大小写转换。...另外,CHAR(n) 和 VARCHAR(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。...BLOB 是一个二进制大对象,可以容纳可变数量的数据,上表所示中有共有4种类型,它们区别在于可容纳存储范围不同。...TEXT 用于存文本数据,对应BLOB的4种类型,4种类型存储的最大长度不同,可根据实际情况选择。

    3.6K20

    【MySQL】拿来即用 —— MySQL中的数据类型

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL数据类型 ⚪...熟悉SQL 一、MySQL数据类型总结 二、常用类型详解 ⚪熟悉SQL 一、MySQL数据类型总结 类型 类型举例 位类型 BIT 集合类型 SET 枚举类型 ENUM 定点数类型 DECIMAL...浮点类型 FLOAT、DOUBLE 日期时间类型 YEAR、TIME、DATE、DATETIME、TIMESTAMP 整数类型 TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER...)、BIGINT 文本字符串类型 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT 二进制字符串类型 BINARY、VARBINARY、TINYBLOB、BLOB...、MULTIPOLYGON、GEOMETRYCOLLECTION ---- 二、常用类型详解 类型 描述 INT 从-231 到 231-1的整型数据。

    83020

    MySQL中BLOB和TEXT类型学习--MySql语法

    有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。 BLOB 列被视为二进制字符串(字节字符串)。...在TEXT或BLOB列的存储或检索过程中,不存在大小写转换。 当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。...LONG和LONG VARCHAR对应MEDIUMTEXT数据类型。这是为了保证兼容性。如果TEXT列类型使用BINARY属性,将为列分配列字符集的二元 校对规则。...MySQL连接程序/ODBC将BLOB值定义为LONGVARBINARY,将TEXT值定义为LONGVARCHAR。...任何客户端可以更改其会话max_sort_length变量的值: mysql> SET max_sort_length = 2000; mysql> SELECT id, comment FROM tbl_name

    4K10
    领券