窗口函数是数据分析师常用的语法函数,几乎是大厂的必考题。
窗口函数,也叫OLAP(Online AnallyticalProcessing,联机分析处理) ,可 以对数据库数据进行实时分析处理。
下面给大家准备了两道经典的窗口函数题目。并准备了清晰的解题思路,具体可以看图片。
第一题:求连续天数
下面表格是用户访问表users,记录了用户id (usr_ id)和访问日期(log_ date),求出连续3天下面表格是用户访问表users,记录了用户id以上访问的用户id。
解题思路:
我们需要根据这么一个简单的表,求出连续3天以上访问的用户。可以按照用户id给访问日期排名,然后再用访问日期减去排名,得到一个时间。如果用户是连续访问的,这个时间就是一样的。一个用户的这个时间如果出现3次及以上,说明这个用户连续访问了3天。
第一步:
先按照用户id (usr_ id) 对访问日期(log date)进行排名,这里要用到DENSE_ RANK() 这个窗口函数,用于给出排名序号。这个函数经常应用在给学生成绩进行排名。
查看结果,多了