MySQL学习笔记:生成一个时间序列

时间:2023-01-26 19:33:56

  今天遇到一个需求是生成以下表格的数据,一整天24小时,每秒一行数据。

  MySQL学习笔记:生成一个时间序列

  寻找颇旧,找到另外两个实现的例子,暂且学习一翻。另一个见另外一篇。

SELECT DATE_ADD('2018-01-01',INTERVAL @i := @i + 1 DAY) AS DATE
FROM
(SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1) AS tmp,
(SELECT @i := -1) t;

  其中,SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1是为了生成一个虚拟的表格,这样子可以生成一样多的行数,此次可用T表代替,只需满足T表数据量大于所需即可。

SELECT DATE_ADD('2018-01-01',INTERVAL @i := @i + 1 DAY) AS DATE
FROM
T
(SELECT @i := -1) t;

END 2018-05-29 00:55:32