抖音面试题遇到连续问题怎么办?
【面试题】
有一张"用户登陆记录表",包含两个字段:用户id、日期。
【问题】查询2021年每个月,连续2天都有登陆的用户名单。
【解题步骤】
1. 连续问题的万能模板
我在《拼多多面试题:如何找出连续出现N次的内容?》里讲过遇到"连续问题"如何解决,并送出了一个万能模板,模板使用的是窗口函数解决连续问题。
2. 窗口函数
窗口函数lead使用方法:
默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列的范围时,会将这个默认值作为函数的返回值,若没有指定默认值,则返回Null。
窗口函数lead可以获取每个字段的后面的第n个值,并生成新的一列。
而这道题描述的"用户连续登陆"中的"连续"可以理解为用户当前的登陆日期与本月下一次登陆日期相差一天。
我们可以先用窗口函数lead获取"用户当月下一个登陆日期":
当"日期"是该用户在当月最后一天登陆时,记录为"当月最后登陆日期",如果不进行设置,将会返回Null,不利于理解。
从结果看,我们可以获得以下信息:
1)当"日期"与"用户当月下一个登陆日期"只相差一天,即用户本次登陆为连续登陆;
2)当"日期"与"用户当月下一个登陆日期"相差大于一天,即用户本次登陆为连续登陆的最后一天(也有可能仅登陆一天);
3)当"用户当月下一个登陆日期"等于"当月最后登陆日期",即用户本次登陆为本月最后一天登陆。
这样,可以判断用户连续登陆的情况。
接下来就解决用户每次连续登陆天数的计算。
3. 子查询
用户每次连续登陆天数与用户登陆顺序存在某种必然的关系,此时我们可以先用子查询将用户在本月的阅读顺序查询出来,使用窗口函数row_number:
可以看出,当连续终止时,即:
1)"日期"与"用户当月下一个登陆日期"相差大于一天;
2)"用户当月下一个登陆日期"等于"当月最后登陆日期";
两种情况。
将这两种情况过滤出来之后,用户连续登陆天数为:当前登陆顺序减去上一个登陆顺序。
"上一个登陆顺序"为 Null 时,用0代替(使用coalesce函数),那么"每个月登陆顺序"减去"上一个登陆顺序"就是本次连续登陆天数。
过滤出最终结果:
【本题考点】
1.考查对窗口函数的了解
2.考查对子查询的了解
3.考查对连续问题的了解,可以套用万能模板
【举一反三】
【问题】查询2021年每个月,连续5天都有登陆的用户数。
与原题的区别在于:
1)"连续2天"变成了"连续5天":对最后的where条件进行修改;
2)查询"用户名单"变成了"用户数":用户group by和count(distinct 用户id)计算用户数。
双生病毒操控植物应激反应的新机制被发现近日,中国农业科学院植物保护研究所作物病原生物功能基因组研究创新团队率先发现双生病毒可以时空调节植物的应激反应,适时操控下游基因的表达,促进病毒积累和侵染的新机制。该研究为深入了解
研究揭示植物SUVH6酶催化位点特异H3K9甲基化的分子基础2022年12月29日,美国国家科学院院刊(PNAS)在线发表了中国科学院分子植物科学卓越创新中心段成国研究组与南方科技大学杜嘉木研究组合作完成的题为MolecularBasiso
三星GalaxyS23系列于2月1日发布新增雾丁香和植物绿配色在智能手机市场越来越卷的今天,手机品牌对产品系列的划分越来越细致,三星手机的划分尤为出众,Galaxy系列就延伸出多款机型其中GalaxyS的定位就是针对年轻群体的中高端市场,因为
植物化妆品原料天麻植物化妆品原料天麻一简述天麻(Gastrodiaelata)为兰科天麻属多年生草本植物,主要分布于我国黑龙江贵州广西吉林湖北等省。化妆品采用天麻干燥根茎的提取物。二天麻传说及生长特
美国游客拍到南京紫金山照片,引发热议简直是大自然的馈赠中国的风景风光丰富多彩,山川湖泊沼泽湿地等数不胜数,每个景点都是让人恋恋不舍之地!让作者英格杰克给大家分享一件事情吧,小编英格杰克的一位美国朋友在我国旅游时,拍到了一组特别美景,秉
小小植物学家走进仁和社区儿童友好自然科普园近日,在成都高新技术产业开发区社区治理和社会保障局的大力支持下,中和街道仁和社区联合成都高新区玉成志愿服务与研究中心开展了我是小小植物学家儿童植物科普教育活动。此次活动在仁和社区儿
兰溪市兰江街道大路口村原大路口行政村下辖大路口。水阁殿。郑家。温塘边。三里铺等五个自然村,有农户395户,人口1252人。行政村距街道办事处约五公里,与陈下。浩塘头。杜村。大阜张。洪大塘等村相邻,主村大
泰山队赛季结束,7大外援如何安排成考验,有人已成球队大包袱2022赛季的对于山东泰山来说接近于已经结束,回顾这个充满了争议的赛季对于泰山来说需要总结的东西太多,赛季的失败也是由多方面因素共同造就的,但就外援来说,本赛季泰山队在队外援由于各
来云台山!看3000米峡谷冰瀑群!这个冬天一定要来云台山看冰挂!全国游客门票半价!2022年所有年卡延期!3000米峡谷冰瀑群上新网红路牌!冰雪节再换新装扮!全天候冰雪表演雪乡围炉万平滑雪场云台山今冬必打卡点陪我赴
淄博新增6家AAA级旅游景区!记者张晓光近日,淄博市文化和旅游局公布了一则淄博市景区质量等级评定委员会公告,公告显示根据中华人民共和国国家标准旅游景区质量等级的划分与评定和山东省旅游景区质量等级管理办法规定,经
乐享冰雪1月7日,在河北省秦皇岛市海港区一家滑雪场,市民参加雪地拔河活动。新华社发(郭楠摄)寒冬时节,人们来到冰场雪场体验冰雪项目,感受冬日趣味。1月7日,在河北省秦皇岛市海港区一家滑雪场