对于一张桌子,例如包含日期、价格时间序列,每个价格例如毫秒,如何将其下采样为具有时间间隔的开高低收(ohlc)行组,例如分钟?
虽然使用数组的选项可以工作,但这里最简单的选项是使用按时间间隔分组的组合min
, max
, argMin
, argMax
聚合函数。
SELECT
id,
minute,
max(value) AS high,
min(value) AS low,
avg(value) AS avg,
argMin(value, timestamp) AS first,
argMax(value, timestamp) AS last
FROM security
GROUP BY id, toStartOfMinute(timestamp) AS minute
ORDER BY minute
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)