Совокупный подсчет до каждой НЕДЕЛИ ISO

#postgresql

#postgresql

Вопрос:

Я застрял с созданием столбца, в котором будут отображаться агрегированные цифры для количества созданных контактов.

Я хотел бы добиться того, что видно в столбце C введите описание образа здесь

 SELECT x.date_period, count(x.vid) contacts FROM
(
SELECT c.firstname as owner, c.vid, to_char(c.properties__createdate__value::date, 'IYYYIW') as date_period
FROM "hmy"."contacts" as c
) x
group by x.date_period
  

Есть идеи?
Спасибо!

Комментарии:

1. Мне трудно понять ваш вопрос, потому что ваш ожидаемый результат, похоже, на самом деле не соответствует запросу, который отображается под ним. Можете ли вы синхронизировать все данные в вашем вопросе?

2. sum(c.vid) over (order by properties__createdate__value) ?

3. Прочитайте о функциях окна и OVER() : doc

4. Я обновил код, чтобы лучше показывать, что у меня есть на данный момент. Не повезло с суммой (c.vid) больше (порядок по c.properties__createdate__value). Я полагаю, что я должен использовать это в подзапросе?

Ответ №1:

Я полагаю, вы можете просто заменить count(x.vid) на sum(x.vid) OVER(ORDER BY properties__createdate__value) .

Вот SQLFiddle, реализующий идею. Я создал таблицу, которая копирует ваш пример таблицы. Если у вас есть первые два столбца построенного примера, вы должны иметь возможность применить к нему эту строку для создания текущего итога.