SQL группировка данных, посчитать по пользователям и дням
Необходимо посчитать кол-во комментов пользователей по дням, в течении недели. Есть такой запрос:
SELECT user_id as user, COUNT(created) as ad_call
FROM `model_comments`
WHERE user_id in (102,5,7) and
created BETWEEN '2021-10-01' and '2021-10-07' GROUP by user_id
Такой запрос выводит сколько комментов у пользователя за неделю, но мне необходимо получить данные по дням пробовал считать по дням:
SELECT user_id as user, COUNT(created) as ad_call
FROM `model_comments`
WHERE user_id in (102,5,7) and
created BETWEEN '2021-10-01' and '2021-10-02' GROUP by user_id
Но тогда приходится делать 7 запросов, что неудобно. Пробовал так:
SELECT user_id as user, COUNT(created) as ad_call, created
FROM `model_comments`
WHERE user_id in (102,5,7) and
created BETWEEN '2021-10-01' and '2021-10-07' GROUP by user_id, created
Но из-за того что формат даты Y-m-d H:i:s, секунды не будут совпадать, и соответственно строки не группируются. Возможно ли получить количество комментов пользователей сгруппированных по ним и по дням?
Ответы (1 шт):
Автор решения: nA PrikoLe
→ Ссылка
SELECT user_id as user, COUNT(created) as ad_call, DATE(created) as created
FROM `model_comments`
WHERE user_id in (102,5,7) and
created BETWEEN '2021-10-01' and '2021-10-07' GROUP by user_id, DATE(created)
Вот так получилось