MYSQL按加入日期加入三个表和组

时间:2018-04-20 19:55:36

标签: mysql join

我是MySQL初学者,所以请耐心等待我!

我有三张桌子

1-Order

Order Id | Order Date 

2 - 用户

user Id | Registration date

3连接

user Id | Order ID

我正在尝试计算按日期分组的转化率 转换率,例如,2013年1月注册的300名用户,其中100人进行了一次或多次购买,注册用户对购买者的转换率为33%

所以最终输出应该是

date    | number of registered users | number of orders | Conversion rate  

Jan-2011|            300             |         100      |     33%
非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我认为这样的事情你需要:

select u.registrationDate as date, 
       count(distinct u.id) as number_of_registered_users,
       count(distinct o.id) as number_of_orders,
       round(count(distinct o.id)/count(distinct u.id)*100) as conversion_rate
from users u 
left join `Order` o on u.registrationDate = o.orderDate 
left join connection c on c.orderId = o.id and c.usersId = u.id
group by u.registrationDate;

请参阅SQL Fiddle