我有一个带有时间戳字段和使用字段的表,如下所示
timestamp | usage
'2015-06-13 13:45:58' | 240
'2015-06-13 13:45:59' | 480
'2015-06-13 13:46:00' | 240
'2015-06-13 13:46:01' | 320
...
Run Code Online (Sandbox Code Playgroud)
我想以“30 分钟”的间隔获得“1 周”的使用总和。我只能获取以分钟、小时、天为单位的数据......
SELECT date_trunc('minute', timestamp) as clock, sum(usage)
FROM my_table
WHERE timestamp > localtimestamp - INTERVAL '1 week'
GROUP BY clock
Run Code Online (Sandbox Code Playgroud)
如何获取诸如“5 分钟”、“30 分钟”、“2 天”和...等间隔的数据。
使用以下内容来获得您的追求。
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + INTERVAL '1 second' * round((extract('epoch' FROM timestamp) / 1800) * 1800) AS clock, SUM(usage)
FROM my_table
WHERE timestamp > localtimestamp - INTERVAL '1 week'
GROUP BY round(extract('epoch' FROM timestamp) / 1800)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9256 次 |
最近记录: |