这就是我的方法。它创建了从 2011-01-01 到 2011-12-31 的日期范围:
select date_format( adddate('2011-1-1', @num:=@num+1), '%Y-%m-%d' ) datefrom any_table, (select @num:=-1) numlimit 365-- use limit 366 for leap years if you're putting this in production唯一的要求是 any_table中 的行 数 应大于或等于所需范围的大小(在此示例中,> =
365行)。您很可能会将其用作整个查询的子查询,因此,在这种情况下, any_table 可以是该查询中使用的表之一。



