订单表
select
firstmon as '月份',
count(userid) as '新增',
sum(fugou) as '复购人数',
sum(fugou)/count(userid) as '复购率'
from
(
select t1.firstmon, t1.userid, if(count(t1.userid)>1, 1, 0) as fugou
from
(
select userid, month(min(paytime)) as firstmon
from `order`
group by userid
) t1
left join `order` t2
on
t1.userid = t2.userid and
t1.firstmon = month(t2.paytime)
group by
t1.firstmon, t1.userid
) t3
group by firstmon;