Мне нужно найти общее количество активных пользователей на основе даты начала и окончания.Ежедневное количество активных пользователей за определенный диапазон дат
РЕГИСТРАЦИЯ ТАБЛИЦА
id registration_no start_date end_date
1 1000 2014/12/01 2014/12/03
2 1001 2014/12/01 2014/12/03
3 1002 2014/12/02 2014/12/04
4 1003 2014/12/02 2014/12/04
5 1004 2014/12/02 2014/12/04
6 1005 2014/12/03 2014/12/05
7 1006 2014/12/05 2014/12/06
8 1007 2014/12/05 2014/12/09
9 1008 2014/12/06 2014/12/10
10 1009 2014/12/07 2014/12/11
Результат должен быть в следующем формате.
Date Active Users
2014-12-01 2
2014-12-02 5
2014-12-03 6
2014-12-04 4
2014-12-05 3
2014-12-06 3
2014-12-07 3
2014-12-08 3
2014-12-09 3
2014-12-10 2
2014-12-11 1
2014-12-12 0
Я знаю, что следующий запрос не работает.
SELECT start_date, count(*) FROM registration
WHERE start_date >= '2014/12/01' AND end_date <='2014/12/12'
GROUP BY start_date
Который не желаемый результат:
2014-12-01 2
2014-12-02 3
2014-12-03 1
2014-12-05 2
2014-12-06 1
2014-12-07 1
Любая помощь будет оценена.
выглядит хорошо для меня. попробуйте простой выбор без группы. Вы получаете ожидаемые записи? – koriander
Используя мой запрос будет получать следующий результат: 2014-12-01 2 2014-12-02 3 2014-12-03 1 2014-12-05 2 2014-12-06 1 2014-12- 07 1 –
Полученные вами результаты - это то, что я ожидал бы по вашему запросу. Когда вы группируете дату начала, вы, по сути, говорите ей, чтобы она возвращала одну строку за уникальную дату начала. не уверен, как получить ответ, который вы ищете в raw sql. – Sam