1 连续问题
1.1 每天连续
每天连续 不连续
2018-08-08 2018-08-08
2018-08-09 2018-08-10
2018-08-10 2018-08-11
2018-08-11 2018-08-13
1.2 隔天连续
隔一天也连续 隔一天也连续 隔一天也连续 隔两天不连续
2018-08-08 2018-08-08 2018-08-08 2018-08-08
2018-08-09 2018-08-10 2018-08-10 2018-08-11
2018-08-10 2018-08-12 2018-08-11 2018-08-12
2018-08-11 2018-08-13 2018-08-13 2018-08-15
问题解决思想:
1、对日期进行排序。日期有重复的使用dense_rank排序,没有重复的rank,dense_rank,row_number都是结果一样。
2、使用等差数列减等差数列思想实现。日期字段 减 排序字段
3、按需求的连续指标进行group by,having过滤分组后的count(*) 值。
4、注意去重问题。如7天内连续3天,可能出现两次连续(是否需要去重)。而7天内连续4天,最多出现一次连续(不需要去重)
5、如果实现隔天连续,可以参考等差数列减等差数列思想,实现两次相减和分组统计。依次类推,隔n天也连续,就用几次就能实现。