mysql求累计值,实现python中cumsum的功能

Pandas描述性统计 描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律、特征做出综合性的描述分析。Pandas 库正是对描述统计学知识完美应用的体现,可以说如果没有“描述统计学”作为理论基奠,那么 Pandas 是否存在犹未可知。下列表格对 Pandas 常用的统计学函数做了简单的总结: 函数名称 描述说明 count() 统计某个非空值的数量。 sum() 求和 ... 阅读详情

由于实际需要,特意写此博客记录一下怎么在mysql中实现累加的功能,达到python中cumsum的效果
博客参考:https://www.cnblogs.com/bourneli/archive/2013/08/09/3248908.html
有如下数据:
在这里插入图片描述
实现如下功能1,即新增一列求累计值:
在这里插入图片描述
实现如下功能2,即新增一列求当月累计值:
在这里插入图片描述
建表与插入数据sql:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for cum_demo建表
-- ----------------------------
DROP TABLE IF EXISTS `cum_demo`;
CREATE TABLE `cum_demo`  (
  `id` int(11) NOT NULL,
  `money` int(11) NULL DEFAULT NULL,
  `t` timestamp(0) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of cum_demo插入记录
-- ----------------------------
INSERT INTO `cum_demo` VALUES (1, 10, '2019-05-31 19:10:45');
INSERT INTO `cum_demo` VALUES (2, 20, '2019-06-01 19:10:59');
INSERT INTO `cum_demo` VALUES (3, 30, '2019-06-01 19:11:03');
INSERT INTO `cum_demo` VALUES (4, 40, '2019-06-02 19:11:37');

SET FOREIGN_KEY_CHECKS = 1;

功能1的实现:

方法一:

	SELECT 
			a.id, 
			-- lt.id as lid, 
			a.money as money,
			a.t as att,
			sum(lt.money) as cur_month_money
			
			-- concat(DATE_FORMAT(a.t,'%Y-%m'),'-01')as t_format, 
			-- lt.t as ltt
	FROM cum_demo a 
	LEFT JOIN cum_demo lt ON a.t >= lt.t   -- on后面是关键
	GROUP BY a.id 
	ORDER BY id 

方法二:

SELECT 
	a.id, 
	a.money as money,
	a.t as att,
	(SELECT sum(money) from cum_demo where t<= a.t ) as cum_money
from cum_demo a;
功能2的实现:

方法1:

	SELECT 
			a.id, 
			-- lt.id as lid, 
			a.money as money,
			a.t as att,
			sum(lt.money) as cur_month_money
			
			-- concat(DATE_FORMAT(a.t,'%Y-%m'),'-01')as t_format, 
			-- lt.t as ltt
	FROM cum_demo a 
	LEFT JOIN cum_demo lt ON a.t >= lt.t and lt.t >= concat(DATE_FORMAT(a.t,'%Y-%m'),'-01')
	GROUP BY a.id 
	ORDER BY id 

方法2:

SELECT 
	a.id, 
	a.money as money,
	a.t as att,
	(SELECT sum(money) from cum_demo where t<= a.t and DATE_FORMAT(t,'%Y-%m')=DATE_FORMAT(a.t,'%Y-%m')) as cum_money
from cum_demo a;

归根结底我们会发现,实现功能2和功能1,区别就在于多增加了一个时间比较字段,即and后面的时间字段比较
注:方法2是由某位大神提供,逻辑简单易懂,感谢大神。
问题与疑惑:
在测试的过程中,发生了如下诡异现象:
在这里插入图片描述
在这里插入图片描述
另外,如果使用concat(t_format,’-01’)将t_format字段其转化成年月日的形式,就可以进行比较,这让我有点难以理解,还望大神指点一二。

Android UI自动化工程实战:uiautomator2+ADB+Python全链路指南 UI自动化是移动应用测试与增长运营的核心技术能力,其本质是通过程序模拟真实用户操作,实现对App界面元素的识别、交互与状态监控。底层依赖ADB协议构建设备控制通道,上层依托uiautomator2实现高精度控件定位与事件响应,再由Python完成逻辑调度、异常处理与节奏调控。该技术栈具备跨机型兼容性强、抗WebView干扰、支持无障碍受限环境等工程优势,广泛应用于APP自动化测试、激励活动ROI验证、批量设备运维等场景。本文以汽水音乐为典型业务载体,系统拆解ADB认证机制、uiautomator2控件等待原 阅读详情

相关推荐

多维聚合后的数据操纵:窗口函数、透视变形与层级导航

多维聚合是数据分析的核心能力,指在多个业务维度(如地区、时间、品类)上对数据进行分组汇总。其底层原理依赖于分组计算与跨组关系建模,技术价值在于支撑动态占比、累计分析、钻取报表等高阶分析需求。典型应用场景包括BI看板中的区域占比计算、电商复购率分析、财务多级小计报表等。本文聚焦聚合结果的再加工过程,系统讲解如何利用窗口函数实现跨组计算、通过PIVOT完成结构变形、借助ROLLUP与GROUPING()支持层级导航——即‘分组后计算’这一关键环节,解决传统GROUP BY无法处理的维度不可逆、计算原子性与结果静

weixin_30634661的博客 402

MySQL:实现cumsum(累加)的功能

如题。

qcyfred的博客 3万+

多维聚合实战:从GROUP BY到立方体思维的数据重塑

多维聚合是BI分析与数据工程中的核心能力,本质是在高维数据空间(如区域×产品×时间)中进行坐标系重构与格子级计算。其原理远超简单分组求和,涉及维度对齐、窗口函数作用域设定、稀疏矩阵填充等关键技术。掌握多维聚合,意味着能准确实现跨维度占比、动态分组、累计与滚动计算等高阶指标,支撑销售看板、用户漏斗、库存周转等典型业务场景。本文聚焦真实工程痛点——如‘加维度后结果错位’‘占比恒为1’‘空组合缺失’等,结合SQL、Pandas、Polars多引擎实践,系统拆解数据重塑路径。

jackleechina2011212的博客 529

MySQL基础系列:数据统计sum,count

1 sum 2 count 3 found_rows 4 group by 功能 数据分组,细分两个分类:单个分组字段,;多个分组字段,数据分组. 4.1 单字段 序号 分组字段 4.2 多字段 序号 [参考文献] [] [] []

天然玩家的博客 5887

Pandas滚动与扩展窗口函数:rolling与expanding实战详解

在数据分析与时间序列处理中,窗口函数是一种对数据子集(窗口)进行聚合计算的核心技术。其基本原理是定义一个动态的数据范围,可以是固定大小的滑动窗口,也可以是从起点不断扩展的累积窗口,并在该范围内应用统计函数。这项技术的价值在于能够揭示数据的局部模式、趋势和累积效应,是金融分析、业务监控、信号处理等场景的基石。例如,在金融领域,移动平均线用于平滑价格波动;在运营分析中,累计指标用于追踪长期增长。本文聚焦于Pandas库中的两个关键工具——rolling和expanding函数,它们分别对应滑动窗口与扩展窗口计算

weixin_33739523的博客 737

基于Python的新能源汽车数据分析系统设计:从数据采集到建模实战

数据分析已成为新能源汽车产业智能化转型的关键技术底座。面对海量的车辆运行数据,如何高效完成数据清洗、存储、特征分析与预测建模,是工程实践中的核心挑战。本文从数据分析的通用方法论出发,系统阐述基于Python构建新能源汽车数据分析系统的全流程——包括模拟数据生成、MySQL仓库设计、缺失值插补、能耗聚合、KMeans充电行为聚类以及线性回归续航预测。通过分层架构与幂等写入机制保障数据质量,结合肘部法则与特征工程提升模型可解释性,最终形成从采集到可视化的闭环技术方案。文中提供的代码片段与避坑经验,可直接支撑论文

weixin_34380948的博客 281

mysql 按月累计_PostgreSQL完成按月累加的操作

背景统计某个指标,指标按照月进行累加,注意需要按省份和年份进行分组。方法一、使用自关联-- with 按月统计得到中间结果WITH yms AS (SELECT regionid,SUM(getnum) AS getnum,SUM(dealnum) AS dealnum,to_char(qndate,"yyyy-MM") AS yearmonthFROM t_queuenumberGROUP BY...

weixin_39527163的博客 1243

mysql累加计算实现方法详解

主要介绍了mysql累加计算实现方法,结合实例形势分析了mysql累加计算原理、实现方法及操作注意事项,需要的朋友可以参考下

MySQL中对一列数据进行累加

MySQL对所需的数据进行累加。

m0_74981825的博客 1134

SoIC、CoWoS、InFO一次讲透:从2D/2.5D/3D看懂先进封装

先进封装是后摩尔时代提升芯片性能的关键路径,但面对SoIC、CoWoS、InFO这些名词,很多人容易混淆。理解它们,需从最基本的2D、2.5D、3D封装概念入手:2D是传统平房,2.5D通过硅中介层实现高密度互连,3D则让芯片直接堆叠。CoWoS作为2.5D中介层封装,已成为AI芯片与HBM高带宽存储集成的行业标准;SoIC通过铜-铜混合键合实现真正的3D堆叠,为逻辑与缓存提供极致带宽;InFO以扇出型封装兼顾成本与集成度,广泛用于移动SoC。在系统级封装(SiP)和CPO共封装光学等前沿趋势中,这些技术往

weixin_42388898的博客 314

liquibase扩展支持达梦数据库

近期项目中需要支持国产数据库,需要liquibase底层支持达梦数据库,记录下操作的详细步骤以便分享。 1.liquibase支持的数据库很多如MySQL, PostgreSQL, Oracle, Sql Server, DB2。但是达梦数据库并不支持,所以需要新建DMDatabase类来适配达梦数据库。达梦语法和Oracle很像所以只需要复制liquibase-core下的Oracle Database做些修改就可了。以下为需要修改的地方 public class DMDatabase extends A

qq_43677719的博客 5474

Mysql数据库基础04-常用函数

第一部分 统计型函数 1. 统计函数——count 统计函数:用来统计查询结果的总数量 eg,统计 student 这个表中,总共有多少学生数量 SELECT COUNT(*) FROM `student`; eg,统计 student 这个表中,age 这一列总共有多少条记录 SELECT COUNT(age) FROM `student`; eg,统计 student 这个表 name 这一列中,年龄大于18的,总共有多少条记录 SELECT COUNT(name) FROM `student`

yuhuofei的草屋 377

Neo4j:入门基础(二)之导入CSV文件

导入CSV文件的方式  主要的两种方式如下:   1、使用 Cypher 命令LOAD CSV,这种方式可以处理中小型数据(可达10 million条记录)   2、使用批量导入工具neo4j-admin ,用来直接导入大数据集 三、上述方式具体导入过程   1、Cypher 命令LOAD CSV 参数 1、USING PERIODIC COMMIT 300 使用批量提交,每满300条提交一次,防止内存溢出 2、WITH HEADERS 从文件中读取第一行作为参数名,...

Puzzle的博客 3万+

一场pandas与SQL的巅峰大战(五)

点击上方“超哥的杂货铺”,轻松关注本文目录:数据准备MySQL计算累计百分比 1.不分组情况 2.分组情况Hive SQL计算累计百分比 1.不分组情况 2.分组情况pan...

python爬虫人工智能大数据 301

TOGAF架构内容—TOGAF 内容框架和企业元模型

TOGAF架构内容—TOGAF 内容框架和企业元模型

深圳市多克创新科技有限公司 1664

〔重庆理工大学〕计算机组成原理课设报告--16位单周期CPU设计

本课程设计的实验平台为Altera Quartus II 软件和Altera Cyclone V Starter 工具箱。(1)Cyclone V是Altera FPGAs家族的一类,它面向低功耗应用。Cyclone V GX 5CGXFC5C6F27C7N 芯片有不同的转换器,按钮,LED灯,七段显示器,HDMI接口,SD卡读卡器以及其他链接等。Cyclone V GX 5CGXFC5C6F27C7N是Starter工具箱的重要组件。(2)测试台包含在测设备(DUT)和用于仿真的模拟输入。

Pretty Boy Fox的博客 1068

pandas concat_一场pandas与SQL的巅峰大战(五)

本文目录:数据准备MySQL 计算累计百分比 1.不分组情况 2.分组情况Hive SQL计算累计百分比 1.不分组情况 2.分组情况pandas计算累计百分比 1.不分组情况 cumsum函数 expanding函数 rolling函数 2.分组情况 cumsum函数 expanding函数 rolling函数小结在之前...

weixin_39538687的博客 201

筑基篇第9节:CUDA内存管理API进阶

CUDA多维内存管理与零拷贝技术 本文介绍了CUDA中高效处理多维数据的内存管理技术。对于二维数据,使用cudaMallocPitch可确保内存对齐访问,提升75%的带宽利用率;三维数据则通过cudaMalloc3D实现切片对齐。配套的cudaMemcpy2D/3D函数能高效处理数据拷贝。此外,零拷贝内存技术允许内核直接访问主机内存,避免显存拷贝开销。这些技术对图像处理、科学计算等应用至关重要,能显著提升多维数据处理的性能。

PeterPan的博客 83

股票交易记录系统构建:从数据采集到风险控制的Python实现

量化交易作为金融科技的重要分支,其核心原理是通过系统化方法替代主观决策。在技术实现层面,Python凭借丰富的数据处理库成为首选工具,结合pandas进行数据分析、matplotlib实现可视化展示。这类系统的技术价值在于构建可靠的交易记录框架,通过仓位计算算法和风险控制机制确保交易纪律性。在应用场景上,特别适合个人投资者进行策略回测与参数优化,其中风险控制模块支持止损止盈设置和仓位限制,数据分析模块则提供收益曲线绘制和最大回撤计算功能。本文基于实际工程实践,详细解析如何构建一个完整的股票交易记录与分析系统

chuange6363的博客 425

QLineEdit控件: 实现IP地址输入框(基于编辑信号)

在开发网络应用程序时,经常需要用户输入IP地址。直接使用普通输入框容易导致格式错误,用户体验也较差。本文将手把手教你用Qt的QLineEdit控件实现一个智能IP地址输入框。即使你是刚接触Qt的新手,也能通过本文理解核心实现原理。

u011186532的专栏 652

vscode配置matlab工作环境

前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题。 附上链接: 文章目录matlab简介基本要求code runner插件与matlab相关的插件添加路径小结code runner是否支持更多语言更多选择另一个选择 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是ma

Cachel Wood的博客 4543

Pandas多维聚合生产实践:从groupby到工业级数据管道

多维聚合是数据分析的核心能力,指在多个维度(如时间、地域、类别)上同步执行不同统计逻辑的复合计算。其原理远超单列分组求和,涉及计算路径优化、内存控制、索引结构管理及业务语义对齐。技术价值在于支撑高并发、可审计、低延迟的实时风控与BI报表系统。典型应用场景包括银行交易中位数分析、支付机构滚动手续费监控、零售业多维经营看板等。本文聚焦pandas中agg、rolling、expanding与unstack等关键机制的生产级用法,结合groupby性能陷阱、MultiIndex清洗、自定义函数防御式设计等实战经验

weixin_33816946的博客 391

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Pandas多维聚合实战:生产级数据管道的5大核心模式

多维聚合是数据分析中连接原始数据与业务决策的关键技术环节,其本质远超基础groupby操作,涉及多列协同计算、时间窗口对齐、层级分组展开、自定义业务逻辑嵌入及内存与性能的工程权衡。在金融风控、支付分析、零售BI等高要求场景中,必须兼顾计算准确性、执行效率、结果可解释性与系统鲁棒性。本文聚焦pandas在真实生产环境中的工业级用法,深入解析差异化聚合、滚动窗口、扩展计算、MultiIndex治理与自定义函数编译五大高频模式,并融合weighted_average、safe_std、time-based rol

weixin_30536513的博客 944

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python学习笔记16 -- Pandas1

Pandas

kyrie_sakura的博客 168

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

生产级多维聚合:从pandas groupby到可审计可扩展的数据架构

多维聚合是数据分析的核心操作,本质是将原始数据按多个业务维度(如时间、地域、用户、类目)进行分组计算,其底层原理涉及维度建模、计算正交性、时间窗口对齐与结果形态控制。在金融、电商等高要求场景中,它必须满足生产级(production-grade)标准——即具备可审计性(auditable)、可扩展性(scalable)和跨环境一致性。技术价值在于支撑实时风控、经营分析与BI决策,典型应用场景包括银行客户健康度分析、大促实时交易监控、跨部门指标口径统一。本文聚焦真实工业实践,深入拆解如何构建稳健的多维聚合体系

weixin_34252090的博客 303

【PySpark 学习笔记 五】SQL 协作:Spark SQL、临时视图、UDF

摘要 本文介绍了Spark SQL的核心功能与应用场景,通过城市销售日报案例对比DataFrame API与SQL的差异。主要内容包括: 双接口设计:Spark提供DataFrame API和SQL两种操作方式,底层共享Catalyst优化器,性能一致但适用场景不同。DataFrame适合复杂ETL,SQL便于临时查询。 技术实现:详细讲解临时视图、内置函数分类(字符串/日期/数学/聚合/窗口)和UDF性能优化(Pandas UDF比Python UDF更快)。 实践案例:从纯DataFrame实现逐步演变

MaoLin Tian's Blog 674
上一篇: pandas数据读取与存储
下一篇: 统计学基础-周计划1
python_new
博客等级 码龄9年 50粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值