Oracle Collect Over 分析功能

Posted

技术标签:

【中文标题】Oracle Collect Over 分析功能【英文标题】:Oracle Collect Over Analytical Function 【发布时间】:2009-10-29 11:31:56 【问题描述】:

是否可以通过使用OVER PARTITION或其他方式将10g collect命令用作分析功能?

例如

SELECT COLLECT(x) OVER (PARTITION BY y)
FROM table

每次我尝试这个时,都会出现一个 ora 3113 异常,提示“通信通道上的文件结束”

PS。我知道我需要转换结果以使其有用,但为了简单起见,我暂时不使用它

【问题讨论】:

【参考方案1】:

COLLECT 不是解析函数,但可以用作组函数。

SELECT y, COLLECT(x) FROM table GROUP BY y

(有趣的是:COLLECT 没有被列为分析函数,但如果我尝试像在您的示例中那样使用它,它似乎一开始可以工作,然后在输出一些结果后停止并给出 ORA- 03113 如你所说。)

【讨论】:

以上是关于Oracle Collect Over 分析功能的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 分析函数 over

oracle分析函数技术详解(配上开窗函数over())

Oracle 分析函数 ROW_NUMBER() 使用

[转]oracle 分析函数over

oracle累加分析函数

Oracle-分析函数_总结