有一列代表24小时。
数据每15分钟来一次。
例如,在10:15时,在10H列的DateTime列中输入该值。
但是我想要的是,通过将时间列和日期时间结合起来,逐行显示时间和值.
排: 2020-11-12 00:30
列: 1H
排: 2020-11-12 01:30
列: value
按原样
DateTime 0H 1H
2020 11 10 00:00:00 979 958
2020 11 10 00:15:00 987 954
2020 11 10 00:30:00 987 958
2020 11 10 00:45:00 960 956
2020 11 11 00:00:00 0 0
2020 11 11 00:15:00 0 0
2020 11 11 00:30:00 0 0
2020 11 11 00:45:00 0 0
2020 11 12 00:00:00 995 995
2020 11 12 00:15:00 991 993
2020 11 12 00:30:00 1000 993
2020 11 12 00:45:00 993 996 成为
DateTime Value
2020 11 10 00:00:00 979
2020 11 10 00:15:00 987
2020 11 10 00:30:00 987
2020 11 10 00:45:00 960
2020 11 10 01:00:00 958
2020 11 10 01:15:00 954
2020 11 10 01:30:00 958
2020 11 10 01:45:00 956
2020 11 11 00:00:00 0
2020 11 11 00:15:00 0
2020 11 11 00:30:00 0
2020 11 11 00:45:00 0
2020 11 11 01:00:00 0
2020 11 11 01:15:00 0
2020 11 11 01:30:00 0
2020 11 11 01:45:00 0
2020 11 12 00:00:00 995
2020 11 12 00:15:00 991
2020 11 12 00:30:00 1000
2020 11 12 00:45:00 993
2020 11 12 01:00:00 995
2020 11 12 01:15:00 993
2020 11 12 01:30:00 993
2020 11 12 01:45:00 996 发布于 2020-11-14 16:34:17
我想你想要union all
select datetime, `0H` as value
from t
union all
select datetime + interval 1 hour, `1H`
from t;您也可以使用cross join来完成这一任务。
select (datetime + interval h hour) as datetime,
(case when h.h = 0 then `0H` else `1H` end) as value
from t cross join
(select 0 as h union all select 1 as h) hhttps://stackoverflow.com/questions/64836104
复制相似问题