MySQL nie wymyśli dla Ciebie wierszy, więc jeśli danych tam nie ma, naturalnie nie zostaną one pokazane.
Możesz utworzyć tabelę kalendarza i dołączyć do niej,
create table calendar (
day date primary key,
);
Wypełnij tę tabelę datami (łatwo dzięki procedurze składowanej lub po prostu ogólnym skryptom), do około 2038 r., a coś innego prawdopodobnie zepsuje jednostkę, co stanie się problemem.
Twoje zapytanie staje się wtedy np.
SELECT logTime, COUNT(*)
FROM calendar cal left join logs l on cal.day = l.logTime
WHERE day >= '2011-02-01' AND day <= '2011-02-04' GROUP BY day;
Teraz możesz rozszerzyć tabelę kalendarza o inne kolumny, które podają miesiąc, rok, tydzień itd., dzięki czemu możesz łatwo tworzyć statystyki dla innych jednostek czasu. (a puryści mogą argumentować, że tabela kalendarza miałaby klucz podstawowy będący liczbą całkowitą id, do którego odwołuje się tabela dzienników zamiast daty)