Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了rollup分析函数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

博客:http://blog.itpub.net/519536/vIEwspace-610995/


表的初始数据:

使用rollup进行汇总之后的数据:

SELEct t.first_name,sum(t.salary)
from t_test1 t
group by rollup(t.first_name)

可以改写为:

SELEct nvl(t.first_name,'@R_553_10586@l'),sum(t.salary)
from t_test1 t
group by rollup(t.first_name)


使用group by实现roll up

           SELEct ta.first_name,sum(ta.salary) as salary
             from t_test1 ta
            group by ta.first_name
           union all
           SELEct '@R_553_10586@l',sum(tb.salary) as salary
             from t_test1 tb




用多列rollup操作

SELEct tt.first_name,tt.manager_id,sum(tt.salary)
  from t_test2 tt
 group by rollup(tt.first_name,tt.manager_id)




使用group by代替实现

SELEct tt.first_name,sum(tt.salary)
  from t_test2 tt
 group by tt.first_name,tt.manager_id
union all
SELEct tt.first_name,null,sum(tt.salary)
  from t_test2 tt
 group by tt.first_name
union all
SELEct null,sum(tt.salary)
  from t_test2 tt


grouPing的作用
SELEct 
tt.first_name,grouPing(tt.first_name),grouPing(tt.manager_id),sum(tt.salary)
from t_test2 tt
group by
rollup(tt.first_name,tt.manager_id)


@H_675_59@如果显示“1”表示GROUPing函数对应的列(例如JOB字段)是由于RolLUP函数所产生的空值对应的信息,即对此列进行汇总计算后的结果。
如果显示“0”表示此行对应的这列参未与RolLUP函数分组汇总活动

大佬总结

以上是大佬教程为你收集整理的rollup分析函数全部内容,希望文章能够帮你解决rollup分析函数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:s