Sådan gør jeg det. Det opretter en række datoer fra 2011-01-01 til 2011-12-31 :
select
date_format(
adddate('2011-1-1', @num:[email protected]+1),
'%Y-%m-%d'
) date
from
any_table,
(select @num:=-1) num
limit
365
-- use limit 366 for leap years if you're putting this in production
Det eneste krav er, at antallet af rækker i enhver_tabel skal være større eller lig med størrelsen af det nødvendige område (>=365 rækker i dette eksempel). Du vil højst sandsynligt bruge dette som en underforespørgsel til hele din forespørgsel, så i dit tilfælde any_table kan være en af de tabeller, du bruger i den forespørgsel.