#mysql
#mysql
Вопрос:
У меня есть следующая таблица MySQL — user_actions: id — int user_id — int timestamp — datetime action — int
пример данных:
1|5|01.01.2011 21:00:00|1
2|5|01.01.2011 21:00:00|3
3|6|01.01.2011 21:00:00|5
3|6|01.02.2011 21:00:00|5
Я хочу подсчитать количество пользователей, которые совершали действие за каждый день (независимо от того, сколько действий), в приведенном выше примере результат должен быть:
01.01.2011|2
01.02.2011|1
- это означает, что 2 пользователя совершили действия в 01.01.2011 и один пользователь в 01.02.2011
есть мысли?
Ответ №1:
SELECT count(DISTINCT user_id)
, DATE_FORMAT(timestamp, '%Y-%m-%d')
from table
group by DATE_FORMAT(timestamp, '%Y-%m-%d')
Комментарии:
1. нехорошо… Я получаю 2 строки для первой даты (01.01.2011) вместо одной
2. Я обновил запрос. Я неправильно понял ваш вопрос. Я надеюсь, что теперь это правильно.