Netezza Window 分区语法

Netezza Window Partitioning Syntax

Window 分区的 Netezza 文档声明您可以使用 window 分区语法来命名一个或多个列。如果有人能给我举个例子,我将不胜感激?

我不太理解下面的文档: <window partition clause> ::= partition by <column reference list> <column reference list> ::= <value expression>

好处是您在 window 分区的文档中不仅仅局限于 Netezza。可以使用底层PostgreSQL documentation, or SQL Server!总会有细微的差别,但大体上是一样的。

也就是说,文档中提到的 window 分区子句指的是必须放置的代码部分,以将聚合函数声明为 windowed 聚合。通常,你会这样写。

select id, sum(col) from tbl group by id;

要声明这是一个 windowed 聚合,您需要放入 window 分区子句,它(几乎)总是以 partition by.

开头
select id, sum(col) over (partition by id) from tbl;

您引用的专栏参考列表通常只是您在 select 中列出它们的方式的专栏。不过,与 select 类似,您始终可以在此处创建新列。这就是他们所说的值表达式的意思。

select id, sum(col) over (partition by case when id > 10 then 1 else 0 end) from tbl;