如何用SQL解决连续几天的问题

2020-02-24  本文已影响0人  Data_Analyst

https://blog.csdn.net/zhenglit/article/details/88063821

统计下用户最长连续登录的天数”,“统计下连续登录超过10天的用户”,“统计下连续3天交易额超过100W的店铺

1. 连续两天购买的用户

先按照date将一天多次进行去重

row1:按照Date分组,time排序

row2:按照Date和ID分组,time排序

按照ID、row2-row1 分组,重复次数大于1

2. 比如连续2次购买的用户() 

row1:按照  time排序

row2:按照 ID 分组,time排序

按照ID、row2-row1 分组,重复次数大于1

2. 连续2次购买苹果的用户

row1:按照 time排序

row2:按照ID、商品类型分组,time排序

按照ID、商品类型分组,重复次数大于1

3. 连续2次在淘宝购买苹果的用户

row1:按照 time排序

row2:按照ID、商品类型、店铺分组,time排序

按照ID、商品类型、店铺分组,重复次数大于1

select

id ,基本变量1,基本变量2, row2-row1,count(id)

from

(select  id ,基本变量1,基本变量2

row_number() over ( order by time) as row1,

row_number() over (partition by    id ,基本变量1,基本变量2 order by time) as row2  

from table

group by 1,2,3

 having count(id)>  2

上一篇下一篇

猜你喜欢

热点阅读