SQL е известен лошо при връщането на данни, които не са в базата данни. Можете да намерите началните и крайните стойности за пропуски от дати, но получаването на всички дати е трудно.
Решението е да създадете календарна таблица с един запис за всяка дата и да я ПРИСЪЕДИНИТЕ към вашата заявка.
Ето един пример, като се приеме, че created_at е тип ДАТА:
SELECT calendar_date, COUNT(`id`)
FROM calendar LEFT OUTER JOIN my_table ON calendar.calendar_date = my_table.created_at
GROUP BY calendar_date
(Предполагам, че created_at наистина е DATETIME, така че ще трябва да направите малко повече гимнастика, за да се ПРИСЪЕДИНЕТЕ към масите).