user_id string, shop string )
ROW format delimited FIELDS TERMINATED BY ‘\t’;
INSERT INTO TABLE test_sql.test2 VALUES ( ‘u1’, ‘a’ ),
( ‘u2’, ‘b’ ),
( ‘u1’, ‘b’ ),
( ‘u1’, ‘a’ ),
( ‘u3’, ‘c’ ),
( ‘u4’, ‘b’ ),
( ‘u1’, ‘a’ ),
( ‘u2’, ‘c’ ),
( ‘u5’, ‘b’ ),
( ‘u4’, ‘b’ ),
( ‘u6’, ‘c’ ),
( ‘u2’, ‘c’ ),
( ‘u1’, ‘b’ ),
( ‘u2’, ‘a’ ),
( ‘u2’, ‘a’ ),
( ‘u3’, ‘a’ ),
( ‘u5’, ‘a’ ),
( ‘u5’, ‘a’ ),
( ‘u5’, ‘a’ );
### 思路分析
1 每个店铺的UV(访客数)
使用 SQL 或者其他数据库查询语言进行统计。
先通过 group by 按店铺名称进行分组,然后使用 count(distinct user\_id) 计算每个店铺的访客数。
2 每个店铺访问次数top3的访客信息
使用 SQL 或者其他数据库查询语言进行统计。
先通过 group by 按店铺名称和用户id进行分组,然后使用 count(\*) 计算每个用户在每个店铺的访问次数。
使用 order by 对访问次数进行排序,然后使用 limit 3 限制输出的数量。
输出店铺名称、访客id、访问次数。
### 答案获取
建议你先动脑思考,动手写一写再对照看下答案,如果实在不懂可以点击下方卡片,回复:`大厂sql` 即可。
参考答案适用HQL,Spark