一、数据要求
涉及表:
orderinfo 订单详情表
| orderid 订单id
| userid 用户id
| isPaid 是否支付
| price 付款价格
| paidTime 付款时间
userinfo 用户信息表
| userid 用户id
| sex 用户性别
| birth 用户出生日期
二、数据分析目的
1、统计不同月份的下单人数
select year(paidTime),month(paidTime),count(distinct userid) as cons
from orderinfo where isPaid="已支付" and paidTime<>'0000-00-00 00:00:00'
group by year(paidTime),month(paidTime);
【粗体斜字部分为对脏数据进行清洗】
2、统计用户三月份的回购率和复购率
复购率:当月购买了多次的用户占当月用户的比例
a、先筛选出3月份的消费情况
select * from orderinfo where isPaid="已支付"
and month(paidTime)="03";
b、统计一下每个用户在3月份消费了多少次
select userid,count(1) as cons from orderinfo
where isPaid="已支付" and month(paidTime)="03" group by userid;
c、对购买次数做一个判断,统计出来那些消费了多次(大于1次)的用户数
select count(1) as userid_cons,
sum(if(cons>1,1,0)) as fugou_cons,
sum(if(cons>1,1,0))/count(1) as fugou_rate
from (select userid, count(1) as cons from orderinfo
where isPaid="已支付" and month(paidTime)="03" group by userid) a;
回购率: