これが私のやり方です。 2011-01-01からの日付の範囲を作成します 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
唯一の要件は、 any_tableの行数です。 必要な範囲のサイズ以上である必要があります(この例では> =365行)。ほとんどの場合、これをクエリ全体のサブクエリとして使用するため、 any_table そのクエリで使用するテーブルの1つにすることができます。