sql - 如何在 Presto SQL 中按 X 分钟增量分组?
问题描述
我的数据集如下所示:
Name, Timestamp, Period, Value
Apple, 2012-03-22 00:00:00.000, 10, 34
Apple, 2012-03-22 00:06:00.000, 10, 23
Orange, 2012-03-22 00:00:00.000, 5, 3
Orange, 2012-03-22 00:08:00.000, 5, 45
如果列周期是 N 分钟数,则应按每小时分组。因此,例如,Apple 应该在 1:10、1:20、1:30 ex 分组,其中 Orange 是 1:05、1:10 等。我还想在每个增量上平均 Value 列。
解决方案
假设
Period
是整数和 60 的除数- 对于两行,如果
Name
相同,Period
则相同
以下应该做
SELECT
name,
date_trunc('minute', timestamp_column)
- interval '1' minute * (minute(timestamp_column) % period)
AS timestamp_rounded,
avg(value)
FROM ...
GROUP BY 1, 2
推荐阅读
- sql - Char(1) vs Number(2) 在 oracle 中性能更好
- c# - 查找 IConfiguration 中是否存在具有空值的 Key
- node.js - Mongoose - Nodejs 使用 pull 删除数组内的字符串
- security - 使用 Istio 和 Kubernetes 支持审计事件日志记录的最佳非侵入式方法是什么
- conda - CONDA:[Errno 48] 地址已在使用中
- javascript - 在 NodeJS 中获得未处理的 Promise Rejection 警告
- python - 在python中按行分隔文件
- python - pandas df列中的布尔函数-面向对象-系列的模棱两可的真值
- angular - 使用对象在 Angular 组件和服务之间共享数据
- vue.js - 无法从网络中的其他设备访问 Vue CLI 开发服务器