欢迎来到天天文库
浏览记录
ID:34723148
大小:191.68 KB
页数:3页
时间:2019-03-10
《groupby子句(rollupcubegroupingsets)实例说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、【DB2】GROUPBY子句(rollup,cube,groupingsets)实例说明2009年07月06日星期一15:24将通过实例来说明groupby子句的3种样式的作用:1.GROUPBY语句: selectzt,qylx_dm,sum(zczb),count(bs)fromdj_ztgroupbyzt,qylx_dm结果:可见,groupbyzt,qylx_dm的作用是,先对ZT进行分组,在同一ZT下,对QYLX_DM进行分组。2.GROUPBYROLLUP语句: selectzt,qylx_dm,sum(zczb),count(bs)fromdj_ztgr
2、oupbyrollup(zt,qylx_dm) 结果:可见,groupbyrollup(zt,qylx_dm)的作用是,先对ZT进行分组,输出按状态分组的结果(第2行,第3行),然后再按照ZT分组,并对分组后的ZT按照QYLX_DM进行再分组,输出结果(第4到9行);在第一行输出统计的总和(1=2+3=4+5+6+7+8+9)。即他是将同一结果集按照不同的分组条件分别输出了2次。3.GROUPBYCUBE语句: selectzt,qylx_dm,sum(zczb),count(bs)fromdj_ztgroupbycube(zt,qylx_dm) 结果:可见,GROUPBYCU
3、BE(ZT,QYLX_DM)的作用是:先按照QYLX_DM分组,输出(1,2,3,4,5行);然后输出合计(6行);然后按照ZT分组,输出(7,8行);然后在按照ZT和QYLX_DM分组输出(9-14行)。即,其实他是将同一结果集按照3种条件分别GROUP并输出了3次。 4.GROUPBYGROUPINGSETS 语句: selectzt,qylx_dm,sum(zczb),count(bs)fromdj_ztgroupbygroupingsets(zt,qylx_dm) 结果:可见此时其作用等同于CUBE的前2次分组。缺失了第三次分组(即同时按照ZT和QYLX_DM分
4、组)和合计行。其实GROUPBYGROUPINGSETS也是可以输出合计的,只需要加一对空括号即可: selectzt,qylx_dm,sum(zczb),count(bs)fromdj_ztgroupbygroupingsets(zt,qylx_dm,()) 结果:其中空括号的位置是没有影响的。而且合计行必然位于第一行。#OVER
此文档下载收益归作者所有