我们有如下的用户访问数据

要求使用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和月份进行分组

本文介绍如何使用SQL统计每个用户的累积访问次数。通过分组、SUM函数及Window函数的应用,详细解析实现过程,并提供参考答案适用于HQL和MySQL8.0。文章还分享了提高SQL功底的思路,包括造数据、结果表设计、逐步调试和选择合适工具等技巧。
最低0.47元/天 解锁文章
8165

被折叠的 条评论
为什么被折叠?



