SQL:DB2 iSeries的窗口化聚合函数

时间:2013-11-12 23:49:48

标签: sql db2 ibm-midrange

count不是iSeries上SQL DB2的行分区的有效聚合函数吗?

此查询有效:

select ROW_NUMBER() over (partition by COL1, COL2 order by COL3 asc)
from MyTable

此查询提供语法错误:

select COUNT(1) over (partition by COL1, COL2)
from MyTable

错误消息指向单词partition之前的括号:

  

[Message SQL0401]令牌(不是有效令牌。有效令牌的部分列表是FROM INTO。

我知道我可以重写查询以避免行分区,但我想知道为什么这不起作用。

1 个答案:

答案 0 :(得分:2)

不,COUNT()type of function as ROW_NUMBER()不一样。

如果你想要每行(col1,col2)的行数,你可以简单地使用

select COL1, COL2, count(*)
  from MyTable
  group by col1, col2