客户旅程第n个月的平均销售额

sauutmhj  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(288)

我需要找出每个月客户的平均销售额。例如,一位客户在2020年1月购买了一些产品。。。然后在二月。。。因此,对于客户来说,一月变成了第一个月,二月变成了第二个月。类似地,其他客户第一次购买是在4月20日,下一次购买是在6月20日。。。。。因此,第一个月(4月)和第二个月(4月和6月)的平均销售额预期结果:客户月平均销售额

cgyqldqp

cgyqldqp1#

您可以使用窗口函数来获取第一个日期。然后是算术。这里有一种方法:

  1. select custid, year(date) * 12 + month(date) - (year(first_date) * 12 + month(first_date)) as diff,
  2. avg(sales) as avg_sales
  3. from (select t.*,
  4. min(date) over (partition by custid) as first_date
  5. from t
  6. ) t
  7. group by custid, diff

相关问题