SQL:DB2 iSeries 的窗口聚合函数

标签 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] Token ( is not a valid token. A partial list of valid tokens is , FROM INTO.

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

最佳答案

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

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

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

关于SQL:DB2 iSeries 的窗口聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19942415/

相关文章:

memory-management - RPGLE 程序中的内存泄漏会持续多久?

php - mysql:分组并获取最新记录

sql - DB2-如何在IBM System i Access for Windows GUI工具中使用参数运行临时选择查询

sql - 为什么 SQL 不允许我删除这个外键?

java - Lob 已关闭。错误代码=-4470,SQLSTATE=null

sql - 为什么 DISTINCT COUNT() 会返回 9 而不是 1?

mysql - 如何使用分页版本控制检索 MySQL 表行

mysql - where 子句匹配同一个表中的 2 行来获取结果

sql - T-SQL 查询中月/年对的排序

sql - RPG 编程中不允许使用 null 值吗?