我有一个数据表
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
)的必要性,因为所有值都不同。如果我删除聚合函数,那么它会生成一个错误(这是我不是应该的点)
由于
答案 0 :(得分:0)
此处所有值都不同,但Oracle在解析时并不知道这一点。需要进行聚合以确保没有重复。
是的,他们可能已经在运行时实现了这个检查,如果找到重复项就会引发异常,但这似乎是一个随意的决定,事实并非如此。