1、樣例表表結構
show create table event_attractnew_daily_invitation_201805;
create table `event_attractnew_daily_invitation_201805` (
`id` int(11) unsigned not null auto_increment comment '主鍵 id',
`uid` bigint(20) not null comment '使用者 uid',
`count` int(11) not null default '0' comment '邀請人數',
`effective_count` int(11) not null default '0' comment '有效邀請人數',
`amount` decimal(20,6) not null default '0.000000' comment '賺取金額',
`daily_date` date not null comment '日期',
`created_time` datetime not null comment '建立時間',
`updated_time` datetime not null comment '更新時間',
primary key (`id`),
unique key `idx_daily_uid` (`daily_date`,`uid`),
key `index_amount_time` (`amount`,`created_time`)
) engine=innodb auto_increment=5278 default charset=utf8mb4 comment='現金拉新活動每天邀請記錄表';
2、累積求和sql
select a1.daily_date,a1.uid,a1.count,a1.effective_count,sum(a2.count) accumulate_count,sum(a2.effective_count) accumulate_effective_count
from event_attractnew_daily_invitation_201805 a1
join event_attractnew_daily_invitation_201805 a2 on a1.uid=a2.uid and a1.daily_date>=a2.daily_date
group by a1.daily_date,a1.uid,a1.count,a1.effective_count
order by a1.uid,a1.daily_date;
3、說明
在oralce及hive上有非常方便的分析函式可以解決此類問題,但mysql就要其他途徑曲線實現。
只考慮一列累積求和的樣例:
create table cum_demo
(id int,money int,primary key (id));
insert into cum_demo(id,money)
values (1,10),(2,20),(3,30),(4.40);
select a.id,a.money,sum(lt.money) as cum
from cum_demo a join cum_demo lt
on a.id >= lt.id
group by a.money
order by id;
python 使用pandas計算累積求和的方法
使用pandas下的cumsum函式 cumsum 計算軸向元素累積加和,返回由中間結果組成的陣列.重點就是返回值是 由中間結果組成的陣列 import numpy as np arr是乙個2 2 3三維矩陣,索引值為0,1,2 cumsum 0 實現0軸上的累加 以最外面的陣列元素為單位,以 1,...
c 上機實驗四 分數的累積求和
一 問題及 檔名稱 c 上機實驗4 分數的累加 作 者 張琪 完成日期 2016 年 4 月 21 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 程式設計序,輸出1 3 3 5 5 7 7 9 19 21的和 程式輸出 求和結果 問題分析 略 演算法設計 略 三 心得...
Accumulation Buffer(累積快取)
累積快取是為合成多幅影象而設計的,它不是簡單的用引入象素片元來代替象素值,而是將片元進行縮放,然後加到已有的象素值上。為了經過一系列的混合操作後能夠保持精度,累積快取每個顏色分量的位數要比一般的視覺化系統要多。我們可以象其他快取一樣清空累積快取,可以用glclearaccum 來設定紅 綠和藍色分量...