hive级联求和
create table t_salary_detail(username string,month string,salary int)
row format delimited fields terminated by ‘,’;
load data local inpath ‘/export/servers/weblog/accumulate.txt’ into table t_salary_detail;
用户 时间 收到小费金额
A,2015-01,5
A,2015-01,15
B,2015-01,5
A,2015-01,8
B,2015-01,25
A,2015-01,5
A,2015-02,4
A,2015-02,6
B,2015-02,10
B,2015-02,5
A,2015-03,7
A,2015-03,9
B,2015-03,11
B,2015-03,6
需求:统计每个用户每个月总共获得多少小费
select username,month,sum(salary)
from t_salary_detail
group by username,month;
需求:统计每个用户累计小费
注意:累计求和其实就是使用inner join通过自己连接自己来实现
select sum(bsumal) from(
select a.month as amonth,a.username as ausername,asumal,b.month as bmonth,b.username as busername,bsumal
from
(select username,month,sum(salary) as asumal
from t_salary_detail
group by username,month) a
inner join (select username,month,sum(sal