Я вчера опубликовал что-то похожее на это, но теперь я хотел бы, чтобы что-то немного отличалось от моего запроса -
Я пытаюсь выполнить запрос к базе данных, чтобы получить количество разовых пользователей, которыепосетил веб-сайт с течением времени.Данные выглядят примерно так:
Day | UserID
1 | A
1 | B
2 | B
3 | A
4 | B
4 | C
5 | D
Я бы хотел, чтобы результат запроса выглядел так:
Time Span | COUNT(DISTINCT UserID)
Day 1 to Day 1 | 2
Day 1 to Day 2 | 1
Day 1 to Day 3 | 0
Day 1 to Day 4 | 1
Day 1 to Day 5 | 2
Результат равен 2,1,0,1,2 потому что в конце тех дней число пользователей, посетивших один раз, было Х.например, на 5-й день, в конце 5-го дня пользователи c и d посетили только один раз.
Я думаю, что ищу запрос, подобный следующему:
select d.day, (select count(distinct userid) from visits where day<=d.day)
from (select distinct day from visits) d
Разница между запросом выше и тем, что я ищу, состоит в том, что я хотел бы, чтобы этот новый запрос учитывал только одноразовых пользователей для каждого промежутка времени, а не повторных пользователей.
Спасибо