Window Partitioning 的 Netezza 文档指出,您可以使用窗口分区语法来命名一个或多个列。如果有人能给我一个例子,我将不胜感激?
我不太了解下面的文档:
<window partition clause> ::= partition by <column reference list>
<column reference list> ::= <value expression>
Window Partitioning 的 Netezza 文档指出,您可以使用窗口分区语法来命名一个或多个列。如果有人能给我一个例子,我将不胜感激?
我不太了解下面的文档:
<window partition clause> ::= partition by <column reference list>
<column reference list> ::= <value expression>
好消息是您的窗口分区文档中不仅限于 Netezza。您可以使用底层的PostgreSQL 文档,或SQL Server!总会有细微的差异,但它们大多是相同的。
也就是说,文档中提到的窗口分区子句是指您必须放置的代码部分,以将聚合函数声明为窗口聚合。通常,你会写这样的东西。
select id, sum(col) from tbl group by id;
要声明这是一个窗口聚合,您需要放入窗口分区子句,该子句(几乎)总是以partition by
.
select id, sum(col) over (partition by id) from tbl;
您引用的列参考列表通常只是您在select
. 但是,与 a 类似select
,您始终可以在此处创建新列。这就是他们所说的价值表达的意思。
select id, sum(col) over (partition by case when id > 10 then 1 else 0 end) from tbl;