Я хочу создать запрос, который может дать мне количество сообщений с идентификатором пользователя + час, когда оно было отправлено.
У меня есть таблица часов с 0-23 часами, у меня есть таблица истории ссообщения, которые пользователи опубликовали + дата_добавлено.
Теперь я хочу создать результат, который будет показывать мне:
Каждый час должен иметь ВСЕХ пользователей из таблицы пользователей
Количество сообщений, отправленных этим пользователем, даже если в таблице истории нет записей с идентификатором пользователя
Я пробовал этот запрос,единственное, что неправильно, это то, что он не показывает каждый час userId
SELECT COUNT(*) AS messages, h.hour AS `Hour`, c.user_id, p.name
FROM history c
INNER JOIN users p ON c.user_id = p.user_id
RIGHT JOIN hours h ON h.hour = HOUR(c.`date_added`)
AND YEAR(`date_added`) = '2019' AND MONTH(`date_added`) = '03' AND DAY(`date_added`) = '06'
GROUP BY h.hour, c.user_id
ORDER BY h.hour ASC;
Fiddle: http://sqlfiddle.com/#!9/5c60d5b
- РЕДАКТИРОВАТЬ, спасибо за все запросы!