Здесь необходимо использовать 2 функции: ДАТА и LAST_DAY
Ваш SQL будет выглядеть следующим образом
SELECT count(id) AS question_count, DATE(created_at) AS date
FROM questions
WHERE created_at > LAST_DAY(NOW() - INTERVAL 1 MONTH) AND created_at < LAST_DAY(NOW()) + INTERVAL 1 DAY AND user_id = 45
GROUP BY DATE(created_at)
ORDER BY id ASC
Примечание ввторое условие ИНТЕРВАЛ 1 ДЕНЬ находится вне функции LAST_DAY