oracle分组 rollup,Cube
CUBE 和 ROLLUP 之间的区别在于:
CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先分成两大步:(1)对于符合条件的每个A,先对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY;(2)对全表进行GROUP BY操作。
按CB,GDM,CZJM统计
SELECT CB,GDM,CZJM,COUNT(*)
from LTJ_DDC
GROUP BY ROLLUP(CB,GDM,CZJM)
如果是GROUP BY CUBE(A, B, C),(1)先对全表进行统计;(2)则首先对(C)进行GROUP BY;(3)然后依次是对于每一个B,先统计B,再统计(B,C);(4)对每个A,按(A)、(A,C)、(A,B)、(A,B,C)进行检索。实例如下:
SELECT CB,GDM,CZJM,COUNT(*)
from LTJ_DDC
GROUP BY CUBE(CB,GDM,CZJM)
相关文档:
在windows 下配置PHP使用ORACLE数据库要点
在window下,经常用apache + PHP 来做应用平台,但是如果使用oracle做后台数据库,但又没有安装有oracle客户端,下面的配置可以参考
1、在没有安装oracle的机器上,PHP无法加载php_oci8.dll模块,原因是php_oci8.dll依赖的相关组件没有找到。
你正确设置了 ......
1.安装时要执行两个脚本,root.sh是其中一个。
需要用root用户执行root.sh去生成/etc/oratab文件。————1.dbca中不会有删除选项(因为运行时需要/etc/oratab)
& ......
insert into dts_auction_comments (id,auction_id,user_id,user_nick,comments,gmt_create,gmt_modified,status,comm_type)
values(409,127380, ......
当本机安装了ORACLE数据库后,再安装运行OC4J的话,环境变量“ORACLE_HOME”与ORACLE数据库有冲突,可以按照如下方法解决此问题:
方法一
第一步:在环境变量中新建“OC4J_HOME”,指定到你的OC4J安装根目录;
第二步:打开OC4J安装的目录,即../OC4J/bin/,里面有一个oc4j.cmd,右键单击该文件,� ......
1、 停止oracle所有的服务(开始--运行--输入services.msc)
2、 删除注册表上的ORACLE的有关键值(开始-->运行-->输入regedit)将HKEY_LOACAL_MACHINE/SOFTWARE下的主键ORACLE全部删除。
3. 下面删除Oracle服务:进入HKEY_LOACAL_MACHINE/SYSTEM主键下,在ControlSet001、ControlSet002、CurrentControlSet--> ......