您可以使用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的示例.