В таблице с двумя столбцами (id
и dt
) Я хочу подсчитать количество уникальных идентификаторов пользователя, которые вошли в систему (dt - дата входа) за последние 3 дня за любую заданную дату , Это пример моих данных:MySQL - учетные записи по датам катания
id dt
user_10 2015-09-01
user_9 2015-09-01
user_4 2015-09-01
user_8 2015-09-01
user_8 2015-09-02
user_9 2015-09-02
user_1 2015-09-02
user_6 2015-09-02
user_7 2015-09-03
user_3 2015-09-03
user_8 2015-09-03
user_10 2015-09-03
user_10 2015-09-04
user_9 2015-09-04
user_8 2015-09-04
user_4 2015-09-04
user_8 2015-09-04
user_6 2015-09-04
Ожидаемый выход заключается в следующем:
day count
2015-09-01 3
2015-09-02 5
2015-09-03 7
2015-09-04 8
Вот ссылка на sqlfidle с этими данными: http://sqlfiddle.com/#!9/ecda9
Я попробовал несколько подходов, бушель я только возможность получить правильный результат для первого дня в данных:
select t1.dt, count(distinct(t1.id)) from t as t1 INNER JOIN t t2
ON datediff(t1.dt,t2.dt)<=2
GROUP BY t1.dt
order by t1.dt
отлично работает, спасибо. – BogdanC