【问题标题】:How do I create named window partitions (aliases) in PostgreSQL?如何在 PostgreSQL 中创建命名窗口分区(别名)?
【发布时间】:2011-03-28 02:52:16
【问题描述】:
PostgreSQL window functions 的文档似乎暗示您可以在查询的多个位置使用相同的命名窗口。但是,我不知道如何创建命名窗口?
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”不存在
【问题讨论】:
标签:
sql
postgresql
window-functions
【解决方案1】:
答案其实在SELECT doc:
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 );