如何在PostgreSQL中创建命名窗口分区(别名)?

Eva*_*oll 4 sql postgresql window-functions

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;
Run Code Online (Sandbox Code Playgroud)

这是一个笑话查询我试图获取语法,但我收到错误:

错误:窗口"w"不存在

Eva*_*oll 10

答案实际上在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 );
Run Code Online (Sandbox Code Playgroud)