我们有如下的用户访问数据
要求使用SQL统计出每个用户的累积访问次数,如下表所示:
用户id 月份 小计 累积
如何实现?
数据准备
CREATE TABLE test_sql.test1 (
userId string, visitDate string, visitCount INT )
ROW format delimited FIELDS TERMINATED BY "\t";
INSERT INTO TABLE test_sql.test1
VALUES
( '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 );
思路分析tips
首先可以使用SQL的GROUP BY语句对用户ID和月份进行分组,然后使用SUM函数统计每组的访问次数。之