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)
相关文档:
oracle9 startup时 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
原因可能是非法关机或掉电造成,以下是出现的问题及解决方法:
C:\Documents and Settings\Administrator>sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 5月 13 09:23:23 2007 ......
1. 将数据库完全导出
用户名system 密码system 导出到Oracle用户目录下的testdb20100522.dmp文件中
#exp system/system@testdb file=testdb20100522.dmp full=y
2. 将数据库中system用户与sys用户的表导出
#exp system/system@testdb file= testdb20100522.d ......
1import java.sql.*;
2import java.util.logging.Level;
3import java.util.logging.Logger;
4
5/** *//**
6 * Title: JDBC连接数据库
7 * Description: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据.
8 */
9public class JDBCExampl ......
Exam Number/Code : 1Z0-053
Exam Name : Oracle Database 11g: Administration II
Questions and Answers : 167 Q&As
Update Time: 2010-05-15
1. You are not sure if Flashback Database is enabled. What database column and view can you query to
see if the flashback logs are being created in the ......