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)

Вот так получилось

→ Ссылка