数据:

Hive 查询有连续三天销售记录的销售报表

求解思路:

             使用row_number函数打标记根据shopid分区,以time升序排列,根据date_sub(to_date(time),flag)生成对应日期

              比如A分区中的五号标记和六号标记,如果根据data_sub生成的日期是一致的,那么这两天就是相邻的

             eg:   五号标记   2015-3-21  那么她生成的日期就是21-5 =2015-3-16

                      六号标记   2015-3-22  那么她生成的日期就是2015-3-16

              然后根据生成的日期和shopid分组,查出组中的成员数目大于等于三的就得到了结果

第一步:打标记

Hive 查询有连续三天销售记录的销售报表

第二步:根据标记生成日期:

 

Hive 查询有连续三天销售记录的销售报表

3.根据标记分组求个数大于3的

Hive 查询有连续三天销售记录的销售报表

Hive 查询有连续三天销售记录的销售报表

4.去重(这里数据不太好,正常应该去重)

Hive 查询有连续三天销售记录的销售报表

Hive 查询有连续三天销售记录的销售报表

相关文章:

  • 2022-12-23
  • 2021-08-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2022-12-23
  • 2021-07-14
猜你喜欢
  • 2022-12-23
  • 2021-10-30
  • 2022-12-23
  • 2021-08-22
  • 2021-07-25
  • 2022-01-12
  • 2021-11-24
相关资源
相似解决方案