以下有两份关于客户信息与下单信息的表格,分别名为:userinfo、orderinfo。需要解答以下的问题
一、统计不同月份的下单人数
SELECT date_format(paidTime,'%Y-%m') ,count(distinct userID) FROM data2.orderinfo
WHERE isPaid != "未支付" -- 过滤掉未支付的客户
group by date_format(paidTime,'%Y-%m');
-- 订单表中只有2016年的数据,因此date_format(paidTime,'%Y-%m')可以直接用 month(paidTime)来代替更简单
二、统计用户三月份的回购率和复购率
- 复贩率是一段时间内多次消费的用户占总消费用户数占比。
- 回贩率是一段时间内消费过的用户,在下一段时间内仍旧消费的占比。
/* 复购率的计算 思路:计算复购率,就要同时计算出呈现总客户数,和复购客户数。 1、先用WHERE过滤3月和已支付的数据; 2、要区分出购买一次和购买多次的客户,就用group by对客户分组,并要输出每个客户的购买次数(命名为ct); 3、要想最后呈现出总客户数,和复购客户数,就要用到嵌套表,对上述表(t)再进行操作; 4、总客户数的计算很简单,对购买次数(ct)使用count嵌套if函数(如果大于1,则累加,否则不累加)。 */ select count(*) AS total, count(if(ct>1,ct,null)) AS re, count(if(ct>1,ct,null))/count(*) AS rate from (SELECT userID, count(userID) A