PostgreSQL - предложение WHERE в предложении OVER? - PullRequest
1 голос
/ 21 июня 2011

Мне нужно использовать предложение where в предложении over.Как?

SELECT SUM(amount) OVER(WHERE dateval > 12)

или что-то в этом роде.

- EDIT -

Подробнее

Моя таблица отформатирована с указанием года, месяцаи столбец суммы.

Я хочу выбрать все строки года, месяца и суммы И создать четвертый «виртуальный столбец», в котором будет сумма столбца суммы за последние 12 месяцев.

Например:

ГОД |МЕСЯЦ |СУММА
2001 |03 |10
2001 |05 |25
2001 |07 |10

Должен создать:

ГОД |МЕСЯЦ |СУММА |Катится 12 месяцев
200103 |10 |10
2001 |05 |25 |35
2001 |07 |10 |45

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

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

0 голосов
/ 21 июня 2011
select a,(select sum(a) from foo fa where fa.a > fb.a) from foo fb;

Не использует over, довольно неэффективно, поскольку запускает новый подзапрос для каждого запроса, но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...