问题类型 :SQL优化
问题描述 :用户浏览日志(date, user_id, video_id), 统计 2020.03.29 观看不同视频个数的前5名 user_id。
思路 :主要注意预计算,避免直接去重
解决方案 :
Hive_HQL_Hive优化_复杂SQL_观看不同视频个数的前5名_sql观看视频数最多的前五名用户_高达一号的博客-CSDN博客
问题描述 : 如何对多个count distinct 优化
SELECT dt,
COUNT(DISTINCT uuid) AS uv,
COUNT(DISTINCT CASE WHEN is_click THEN uuid END) AS click_uv,
...
GROUP BY dt
思路 : 针对于最细的颗粒度,先进行去重,再去计算最终的指标
解决方法 :
SELECT dt, COUNT(uuid) AS uv, COUNT(click_uuid) AS click_uv
FROM (
SELECT dt, uuid, MAX(click_uuid) AS click_uuid
FROM (
SELECT dt, uuid,
CASE WHEN is_click THEN uuid END AS click_uuid
FROM your_table
) t1
GROUP BY dt, uuid
) t2
GROUP BY dt;
问题描述 : 有50W个 店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志, 访问日志存储的表名为Visit,访客的用户id为uid,被访问的店铺名称为shop,
数据如下:
uid shop
u1 a
u2 b
u1 b
u1 a
u3 c
u4 b
u1 a
u2 c
u5 b
请统计:
(1)每个店铺的UV(访客数)
(2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数
解题方案 : SQL_求店铺的topN && 开窗函数数据倾斜_高达一号的博客-CSDN博客
问题类型 :窗口函数使用
问题 求连续n月的下单用户
有如下表 ,求连续3个月的下单用户
order_no | uid | dep_no | amount | datetime
1 | 2002 | 20 | 2000.0 | 2023-04-25 12:30:20
解题方案 : Hive_HQL_复杂SQL_连续发单天数_hive支持复杂sql_高达一号的博客-CSDN博客
问题 求年度分月份,累计下单金额
有如下表 ,求业务部分月的年累计订单金额
order_no | uid | dep_no | amount | datetime
1 | 2002 | 20 | 2000.0 | 2023-04-25 12:30:20
问题 求路径访问深度
今天面试遇到了一道题,通过HQL 求访问深度以及当前页与下一页面的地址
前提假设:
1.用户只访问同一page一次
2.用户单一标签页跳转
有如下图1 转换为 图2 格式,即访问路径问题
问题答案 : HIVE_SQL_复杂SQL_求访问深度以及前一跳和下一跳的地址_高达一号的博客-CSDN博客
问题类型 :SQL巧解答
问题 已知登陆表中有 uid、login_time,求每个用户的最大连续登陆天数
uid、login_time
A | 2020-08-01 10:00:00
(该问题为窗口函数问题中 : 连续n月下单用户的延申题目,可以两道问题一起考察)
问题答案 : SQL 求最大连续登陆天数_连续登录天数sql_机灵小布衣的博客-CSDN博客
问题 一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?
问题解法 :避免开窗函数导致的数据倾斜,先求最大,再求次大
问题答案 :SQL_分组求次大问题_一份登陆日志,查到今天每个人倒数第二次登陆的时间、地点、ip等信息?_高达一号的博客-CSDN博客
问题类型 : 复杂SQL
问题 求每个登录日期的次日留存率
问题答案 :
SQL_牛客网_SQL264_求每个登陆日期的次日留存率_高达一号的博客-CSDN博客文章来源:https://www.toymoban.com/news/detail-604733.html
问题解法 :日期函数 + 子查询文章来源地址https://www.toymoban.com/news/detail-604733.html
到了这里,关于SQL_SQL_常见面试问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!