Я новичок в MySQL, так что проявите ко мне терпение!
У меня есть три стола
1-порядок
Order Id | Order Date
2-пользователя
user Id | Registration date
3-соединение
user Id | Order ID
Я пытаюсь рассчитать коэффициент конверсии, сгруппированный по дате Коэффициент конверсии, например, 300 пользователей зарегистрировались в январе 2013 года, и 100 из них совершили одну или несколько покупок, коэффициент конверсии зарегистрированного пользователя в покупателя составляет 33%.
поэтому окончательный результат должен быть
Таблица
date | number of registered users | number of orders | Conversion rate
Jan-2011| 300 | 100 | 33%
Большое спасибо за помощь!
Вы говорите Jan 2013 в своем вопросе, но jan-2011 в желаемых результатах. Это тип или мне что-то не хватает?
Вы что-то пробовали?
@JNevill это опечатка, я просто привел пример данных и как рассчитать коэффициент конверсии
@ernesthm Я пробую банкомат, но пока ничего не работает






Думаю, что-то вроде этого вам понадобится:
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.
Спасибо, он сработал, но он показывает мне каждый день, я хочу, чтобы он показывал мне только месяц и год, не могли бы вы мне помочь?
Спасибо, я понял это DATE_FORMAT (u.date_registered, "% y-% m")