求找出代码问题
需求是19年各月份的ytd新客数及复购数,
我写的这段就是以是否当月购买来算新客--即c1,以是否购买日大于19年1月且当月复购来算复购数--即c2
出来c1、c2 数是一样的,不知道为什么,求指导
第一次这样用case when,不确定是否能用,然后这个系统用不了convert、month各种日期公式所以用了left截取
以下:
select
left(order_date,7),
count(case when left(order_date,7)=left(firstdate,7) then 1 else 0 end)c1,
count(case when left(order_date,7)=left(firstdate,7) and left(order_date,9)>left(firstdate,9) and firstdate>'2019-01-01'then 1 else 0 end)c2
from (
select t1.member_id,order_date,firstdate
from puman_prod.t_retailorder t1
left join (
select member_id,min(order_date)firstdate
from puman_prod.t_retailorder
group by member_id)t2
on t1.member_id = t2.member_id
where order_date>='2019-01-01')t1
group by left(order_date,7)