数据透视表中聚合函数的必要性是啥
Posted
技术标签:
【中文标题】数据透视表中聚合函数的必要性是啥【英文标题】:What is the necessity of aggregate functions in pivot table数据透视表中聚合函数的必要性是什么 【发布时间】:2014-02-24 06:57:47 【问题描述】:我有一个数据表
id id_1 id_2
1 C1 0
1 C2 0
1 C3 0
1 C4 1
2 C1 0
2 C2 0
2 C3 0
2 C4 0
3 C4 0
我正在使用数据透视表来打印数据
select *
from
(
select Id, id_1,id_2
from table1
) x
pivot
(
sum(id_2)
for id_1 in ([C1], [C2], [C3], [C4])
) p
问题: 当不需要聚合函数(在这种情况下为sum
)时,有什么必要使用聚合函数,因为所有的值都是不同的。如果我删除聚合函数,那么它会产生一个错误(这是我不明白的一点)
SQL Fiddle
谢谢
【问题讨论】:
【参考方案1】:这里所有的值都是不同的,但是 Oracle 在解析时并不知道这一点。需要聚合以确保没有重复。
是的,他们可能已经在运行时实现了此检查并在发现重复项时引发异常,但事实并非如此似乎是一个武断的决定。
【讨论】:
以上是关于数据透视表中聚合函数的必要性是啥的主要内容,如果未能解决你的问题,请参考以下文章