首都航空公司官方网站,科技公司php网站模版,太原模板建站平台,开发高端客户目录
0 需求描述
1 数据准备
2 问题分析
3 小结
如果觉得本文对你有帮助#xff0c;那么不妨也可以选择去看看我的博客专栏 #xff0c;部分内容如下#xff1a;
数字化建设通关指南
专栏 原价99#xff0c;现在活动价39.9#xff0c;十一国庆后将上升至59.9#…目录
0 需求描述
1 数据准备
2 问题分析
3 小结
如果觉得本文对你有帮助那么不妨也可以选择去看看我的博客专栏 部分内容如下
数字化建设通关指南
专栏 原价99现在活动价39.9十一国庆后将上升至59.9最后一波需要的赶紧冲最终按照阶梯式增长直到恢复原价。 0 需求描述
现在有一张A表里面包含当天用户观看直播的记录需求统计每个时间段内对应的观看直播的人数
表A
user_idstart_timeend_time10012024-06-06 12:05:002024-06-06 13:10:0010022024-06-06 11:05:002024-06-06 13:10:00 1 数据准备
create table a as(select stack(2,1001, 2024-06-06 12:05:00, 2024-06-06 13:10:00,1002, 2024-06-06 11:05:00, 2024-06-06 13:10:00) as (user_id, start_time, end_time)); 2 问题分析
本题主要考察拉链表流水化的思维方式即如何将拉链表转换成对应的时间明细表
具体步骤如下
第一步行转列标记在线、下线状态
状态标记st时间记为 1et时间记为-1 et时表示下播取-1
select user_id, start_time dt, 1 statusfrom aunion allselect user_id, end_time dt, -1 statusfrom a 第二步求对应时点处累计人数及对应时段
select user_id,dt start_time,sum(status) over(order by dt) acc_cnt,lead(dt) over(order by dt) end_time
from
(select user_id, start_time dt, 1 statusfrom aunion allselect user_id, end_time dt, -1 statusfrom a) t
第三步筛选出累计人数大于0的结果获取最终结果
select user_id, start_time, end_time, acc_cnt
from (select user_id, dt start_time, sum(status) over (order by dt) acc_cnt, lead(dt) over (order by dt) end_timefrom (select user_id, start_time dt, 1 statusfrom aunion allselect user_id, end_time dt, -1 statusfrom a) t) t 3 小结
如果觉得本文对你有帮助那么不妨也可以选择去看看我的博客专栏 部分内容如下
数字化建设通关指南
专栏 原价99现在活动价39.9十一国庆后将上升至59.9最后一波需要的赶紧冲最终按照阶梯式增长直到恢复原价。
主要内容1SQL进阶实战技巧 可以参考如下教程具体链接如下
SQL很简单可你却写不好也许这才是SQL最好的教程
上面链接中的文章及技巧会不定期更新。
2数仓建模实战技巧和个人心得 1新人入职新公司后应如何快速了解业务 2以业务视角看宽表化建设 3) 维度建模 or 关系型建模 4业务模型与数据模型有什么区别业务阶段的模型该如何建设 5业务指标体系该如何建设指标体系该如何维护指标平台应如何建设指标体系 该由谁来搭建 6如何优雅设计DWS层DWS层模型好坏该如何评价 7指标发生异常该如何排查应从哪些方面入手寻找问题点 8 数据架构的选择mpp or hadoop? 9数仓团队应如何体现自己的业务价值讲好数据故事 10BI与大数据有什么关系BI与信息化、数字化之间有什么关系BI与报表之间的关 系 11数据部门如何与业务部门沟通并规划指引业务需求
文章不限于以上内容有新的想法也会及时更新到该专栏。
具体专栏链接如下 数字化建设通关指南_莫叫石榴姐的博客-CSDN博客