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


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

  

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM