【问题标题】: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 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-21
      • 2022-08-04
      • 2014-06-11
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-05
      相关资源
      最近更新 更多