gpt4 book ai didi

sql - 将具有一个时间戳和对应的 x 整数数组的一行显示为具有 x 个时间戳和一个对应整数的 x 行

转载 作者:行者123 更新时间:2023-11-29 14:08:23 24 4
gpt4 key购买 nike

抱歉问题措辞不佳,我不知道如何简洁地描述我的问题。我正在处理来自传感器的数据,该传感器每 10 分钟扫描一次房间,以查看房间内有多少人。数据看起来像这样

reading_id |      timestamp      |    values      |          
--------------------------------------------------
1 | 2019-02-28 01:00:00 | {1,1,6,17,4,4} |
2 | 2019-02-28 02:00:00 | {3,4,6,3,0,8} |
3 | 2019-02-28 03:00:00 | {0,0,0,0,0,0} |

有什么办法可以让它看起来像这样吗?

reading_id |      timestamp      |    values      |
--------------------------------------------------
1 | 2019-02-28 01:00:00 | 1 |
1 | 2019-02-28 01:10:00 | 1 |
1 | 2019-02-28 01:20:00 | 6 |
1 | 2019-02-28 01:30:00 | 17 |
1 | 2019-02-28 01:40:00 | 4 |
1 | 2019-02-28 01:50:00 | 4 |
2 | 2019-02-28 02:00:00 | 3 |
...

我不确定 reading_id 会发生什么,但无论如何我都不需要它。

最佳答案

您可以使用 unnest with ordinality 来获取每个数组元素的索引,并使用它来添加 10 分钟的间隔。

select t.reading_id,
t."timestamp" + interval '10 minutes' * (u.idx - 1) AS timestamp,
u.value
from the_table t
cross join unnest(t."values") with ordinality AS u(value, idx)
order by 1,2;

在线示例:https://rextester.com/TEB87353

关于sql - 将具有一个时间戳和对应的 x 整数数组的一行显示为具有 x 个时间戳和一个对应整数的 x 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56096813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com