create database ketanlianxi;
use ketanlianxi;
创建表
create table action(
userId string,
visitDate string,
visitCount int
)row format delimited fields terminated by '\t';
数据
u01 2017/1/21 5
u02 2017/1/23 6
u03 2017/1/22 8
u04 2017/1/20 3
u01 2017/1/23 6
u01 2017/2/21 8
u02 2017/1/23 6
u01 2017/2/22 4
select * from action;
+----------------+-------------------+--------------------+--+
| action.userid | action.visitdate | action.visitcount |
+----------------+-------------------+--------------------+--+
| u01 | 2017/1/21 | 5 |
| u02 | 2017/1/23 | 6 |
| u03 | 2017/1/22 | 8 |
| u04 | 2017/1/20 | 3 |
| u01 | 2017/1/23 | 6 |
| u01 | 2017/2/21 | 8 |
| u02 | 2017/1/23 | 6 |
| u01 | 2017/2/22 | 4 |
+----------------+-------------------+--------------------+--+
select
userId,
date_format(regexp_replace(visitDate,'/','-'),'yyyy-MM') mm,
visitCount
from action; t1
+---------+----------+-------------+--+
| userid | mm | visitcount |
+---------+----------+-------------+--+
| u01 | 2017-01 | 5 |
| u02 | 2017-01 | 6 |
| u03 | 2017-01 | 8 |
| u04 | 2017-01 | 3 |
| u01 | 2017-01 | 6 |
| u01 | 2017-02 | 8 |
| u02 | 2017-01 | 6 |
| u01 | 2017-02 | 4 |
+---------+----------+-------------+--+
select
userid,
mn,
sum(visitCount) sum_visitCount
from
(select
userId,
date_format(regexp_replace(visitDate,'/','-'),'yyyy-MM') mn,
visitCount
from
action) t1
group by userid, mn; t2
+---------+----------+-----------------+--+
| userid | mn | sum_visitcount |
+---------+----------+-----------------+--+
| u01 | 2017-01 | 11 |
| u01 | 2017-02 | 12 |
| u02 | 2017-01 | 12 |
| u03 | 2017-01 | 8 |
| u04 | 2017-01 | 3 |
+---------+----------+-----------------+--+
select
userId,
mn,
sum_visitCount,
sum(sum_visitCount) over(partition by userId order by mn) as sum_visitCount
from
(select
userid,
mn,
sum(visitCount) sum_visitCount
from
(select
userId,
date_format(regexp_replace(visitDate,'/','-'),'yyyy-MM') mn,
visitCount
from
action) t1
group by userid, mn)t2; t3
+---------+----------+-----------------+-----------------+--+
| userid | mn | sum_visitcount | sum_visitcount |
+---------+----------+-----------------+-----------------+--+
| u01 | 2017-01 | 11 | 11 |
| u01 | 2017-02 | 12 | 23 |
| u02 | 2017-01 | 12 | 12 |
| u03 | 2017-01 | 8 | 8 |
| u04 | 2017-01 | 3 | 3 |
+---------+----------+-----------------+-----------------+--+
版权声明:本文为qq_36382679原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。