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

8
这段文字在讨论如何创建命名窗口(named window)。在这里,它提到了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个回答

14
答案实际上在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 );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接