Помощната календарна таблица ще работи добре. Най-простата възможна календарна таблица е една колона с дати.
create table calendar (
cal_date date primary key
);
Можете да използвате електронна таблица или SQL, за да я попълните. Външно присъединяване към него ще донесе датите, които не съществуват във вашите данни. Ограничете разрешенията с GRANT и REVOKE и използвайте всички необходими средства, за да сте сигурни, че датите, които очаквате да бъдат там, всъщност са там. Изпълнявам ежедневен отчет на моя сървър, който се уверява, че има „n“ редове и потвърждава най-ранните и най-новите дати.
На някои платформи можете да генерирате серия от дати в движение и да я използвате директно или в CTE. PostgreSQL има функции за това; Не знам дали MySQL го прави. Те обаче не са трудни за писане, ако искате да пуснете свои собствени.