1. #9月用户连续连续查询最大天数
    2. SELECT
    3. user_id,
    4. max( date_cnt ) AS max_cnt
    5. FROM
    6. (
    7. SELECT
    8. user_id,
    9. d - d_ranking AS d_group,--连续日期的组标记
    10. count( 1 ) AS date_cnt
    11. FROM (
    12. SELECT
    13. user_id,
    14. d,
    15. row_number ( ) over ( PARTITION BY user_id ORDER BY d ) AS d_ranking --与标记日期的日期差的排序
    16. FROM
    17. (
    18. SELECT
    19. user_id,
    20. datediff( create_date, '2019-01-01' ) AS d --与标记日期的日期差
    21. FROM
    22. ( SELECT user_id, date( gmt_update ) AS create_date FROM ods_v_location_query_record where month(gmt_update)=9 and year(gmt_update)=2020 GROUP BY user_id, date( gmt_update )
    23. ) a --在这一层获取用户的发单日期并去重
    24. )b --这一层获取与标记日期的日期差
    25. ) c --获取连续日期的排序
    26. GROUP BY
    27. user_id,
    28. d - d_ranking
    29. ) d --获取每一个连续日期组的连续天数
    30. left join ods_t_user_month_card_product c on d.user_id=e.user_id
    31. where e.user_id is null
    32. GROUP BY
    33. user_id