Получение подсчета временных отметок, попадающих в каждое 5-минутное ведро - PullRequest
0 голосов
/ 20 октября 2018

У меня есть таблица временных меток.Я хотел бы сгруппировать их в 5-минутные сегменты и получить количество отметок времени в этом сегменте.У меня возникли проблемы с получением правильного SQL.Я использую Postgres.Это говорит мне, что столбец метки времени в последней строке не существует, но он определен как псевдоним.

SELECT
    TIMESTAMP WITH TIME ZONE 'epoch' +
    INTERVAL '1 second' * round(extract('epoch' from my_timestamp) / 300) * 300
    as timestamp,
    count(my_timestamp)
FROM logs
GROUP BY
round(extract('epoch' from timestamp) / 300)

1 Ответ

0 голосов
/ 20 октября 2018

Я думаю, что ваш GROUP BY выключен.Попробуйте это:

SELECT TIMESTAMP WITH TIME ZONE 'epoch' + INTERVAL '1 second' * round(extract('epoch' from my_timestamp) / 300) * 300 as timestamp,
       count(*)
FROM (values (now())) logs(my_timestamp)
GROUP BY timestamp
...