累计查询

本文介绍如何使用SQL聚合查询实现时间序列数据的累计总和,并通过实例展示了查询语句的应用,包括创建表、查询过程及结果分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select sum(列名)over(partition by 累加条件列 group by 分组列1,分组列2……) total from 表;

一、创建表

 Create Table product(

Id Number(9),

pro_name VARCHAR2(50),

pro_date Date,

year_mon VARCHAR2(12),

oil Number(9),

gas Number(9),

water Number(9)9)

二、查询语句:

Select t.Pro_Name,
t.Year_Mon YM, 
Substr(t.Year_Mon, 1,4) Y,
t.oil,
Sum(t.oil)over(PartitionBy Substr(t.Year_Mon,1,4)Order By Substr(t.Year_Mon,1,4),t.Year_Mon) total
From Product t

三、查询结果

  pro_name ym y oil total
1 aa 201001 2,010 14 14
2 aa 201002 2,010 42 56
3 aa 201003 2,010 14 70
4 aa 201004 2,010 33 103
5 aa 201005 2,010 42 145
6 aa 201006 2,010 25 170
7 aa 201007 2,010 26 196
8 aa 201008 2,010 34 230
9 aa 201009 2,010 38 268

 

在MySQL中,如果要进行分组查询并计算累计数量,可以使用窗口函数和分区语句。如果你使用的是MySQL 8.0以上的版本,可以使用窗口函数sumpartition by进行组合计算。下面是一个示例查询语句: ```sql SELECT userid, date, SUM(order_count) OVER (PARTITION BY userid ORDER BY date) AS 累计 FROM order_list ``` 这个查询语句会按照userid对数据进行分组,并按照date进行排序。然后使用窗口函数SUM进行累计求和,通过PARTITION BY userid指定每个userid作为一个分区。最终结果会返回每个userid在每个date下的累计数量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Mysql的分组查询和统计计算](https://blog.youkuaiyun.com/m0_67696981/article/details/130791473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [mysql分组累计求和](https://blog.youkuaiyun.com/weixin_41867184/article/details/122311894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [常用mysql数据库配置文件](https://download.youkuaiyun.com/download/zslsh44/88278582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值