Как создать именованные оконные разделы (псевдонимы) в PostgreSQL? - PullRequest
3 голосов
/ 11 августа 2010

Документация для оконных функций PostgreSQL , похоже, подразумевает, что вы можете использовать одноименное окно в нескольких местах в вашем запросе.Однако я не могу понять, как мне создать именованное окно?

SELECT first_value(vin) OVER( PARTITION BY vin ) AS w, first_value(make) OVER w
FROM inventory.vehicles
WHERE lot_Id = 9999 AND make is not null;

Это запрос на шутку. Я пытаюсь получить синтаксис, но получаю ошибку:

ОШИБКА: окно "w" не существует

1 Ответ

9 голосов
/ 11 августа 2010

Ответ был на самом деле в SELECT документ:

WINDOW Статья

Необязательное предложение WINDOW содержит общая форма

WINDOW window_name AS ( window_definition ) [, ...]

Вот пример,

SELECT first_value(vin) OVER w,
  first_value(make) OVER w
FROM inventory.vehicles
WHERE lot_Id = 9999
  AND make is not null
WINDOW w AS ( PARTITION by vin );
...