MySQL快速生成时间维度表:
MySQL里面生成一张时间维度表,用于ETL工具使用。...:= DATE_ADD(@date, INTERVAL 1 DAY) AS DATE,
DATE_FORMAT(@date, "%Y%m%d") AS id,
YEAR(@date) AS Y...,
MONTH(@date) AS m,
DAY(@date) AS d,
DATE_FORMAT(@date, "%x") AS yw,
WEEK(@date, 3) AS w,
...FROM
T
WHERE DATE_ADD(@date, INTERVAL 1 DAY) <= @d1
ORDER BY DATE ;
神秘的表T,仅仅需要有多于你需要生成日期的记录数即可...思路是从T表选择多行数据,同时生成对应的日期字段。