如何解决有效计算最近50条记录,最后一天和最后一周的移动平均线和STDEV
我有一张表,其中包含来自多个传感器的时间序列数据。对于每个注册表,我需要针对不同的集合计算几个指标(假设只有AVG和范围(最大值-最小值))
- 最近50次测量
- 最后一天的所有测量结果
- 上周的所有测量值
对于最近的50次测量,很清楚如何使用窗口函数有效地实现该功能。但是,我不知道如何以有效的方式计算最后一天和最后一周的时间。在我看来,每个子查询都是单独计算的,而很多计算都可以重用。
请注意,在实际问题中,如果可能很重要,行的分组会更加复杂(不仅是sensor_id,而且还有更多字段)。
以下是我想要的使用子查询的示例:
https://dbfiddle.uk/?rdbms=postgres_11&fiddle=f283e90beb64189adf829a3709df1fc5
我正在使用Postgresql 11.4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。