SQL解压缩数据/生成包含类似数据的更多行



我有一些数据在更新频率上非常可变(很长时间没有变化,然后经常变化)。

我根据我创建的时间表对它进行采样,最后得到下面的表格:

tbody><01/10/2019 09:00 0.59<

您可以使用Recursive Query如下:

With recursive cte as
(
select periodStart st, 
adddate(periodStart , interval samplingInterval minute) en
,periodEnd,variable,samplingInterval si
From condensed
Union All
select adddate(st, interval si minute), 
adddate(en, interval si minute),
periodEnd,variable,si from cte
where adddate(st , interval si minute)<periodEnd
)
select st as periodStart,en as periodEnd,variable  from cte order by st;

查看db-fiddle的示例.

最新更新



  • All rights reserved © 2023 www.xiaobeizi.cn

  • 首页
periodEndvariable
01/10/2019 00:0601/10/2019 01:000.61
01/10/2019 01:0001/10/2019 02:000.61
01/10/2019 02:0001/10/2019 03:000.61
01/10/2019 03:0001/10/2019内0.61
01/10/2019内01/10/2019凌晨0.61
01/10/2019凌晨01/10/2019 06:00时0.61
01/10/2019 06:00时01/10/2019 07:000.61
01/10/2019 07:0001/10/2019喂饲0.61
01/10/2019喂饲
01/10/2019 09:00/td>01/10/2019 10点0.59
01/10/2019 10点01/10/2019 11点0.59
01/10/2019 11点01/10/2019 12:000.58