count 不是 iSeries 上 SQL DB2 行分区的有效聚合函数吗?
Is count not a valid aggregation function for row partitions for SQL DB2 on the iSeries?
此查询有效:
select ROW_NUMBER() over (partition by COL1, COL2 order by COL3 asc) from MyTable而且这个查询给出了一个语法错误:
And this query gives a syntax error:
select COUNT(1) over (partition by COL1, COL2) from MyTable错误信息指向partition这个词前的括号:
The error message is pointing at the parenthesis before the word partition:
[消息 SQL0401] 令牌 ( 不是有效令牌.有效令牌的部分列表是 , FROM INTO.
[Message SQL0401] Token ( is not a valid token. A partial list of valid tokens is , FROM INTO.
我知道我可以重写查询以避免行分区,但我想知道为什么这不起作用.
I'm aware I can rewrite the query to avoid the row partition, but I'd like to know why this isn't working.
推荐答案不,COUNT() 不一样 函数类型为 ROW_NUMBER().
如果你想要每个 (col1,col2) 的行数,那么你可以简单地使用
If you want the number of rows per (col1,col2) then you could simply use
select COL1, COL2, count(*) from MyTable group by col1, col2更多推荐
SQL:DB2 iSeries 的窗口聚合函数
发布评论