报表相关

1.报表——普通报表是组成列和统计列都在一条记录(行)里。

 

select d.deptno,d.dname,
       sum(decode(sex,'男',1,0)) 男,
       sum(decode(sex,'女',1,0)) 女,
       1 合计
from emp2,dept d where emp2.deptno=d.deptno
group by d.deptno,d.dname;
select d.deptno,d.dname,
       count(decode(sex,'男',1,null)) 男,
       count(decode(sex,'女',1,null)) 女,
       count(1) 合计
from emp2,dept d where emp2.deptno=d.deptno
group by d.deptno,d.dname
union all
select null,'合计',
       count(decode(sex,'男',1,null)) 男,
       count(decode(sex,'女',1,null)) 女,
       count(1) 合计
from emp2;

 

2.怎么做报表

     2.1:通过计算列产生满足条件的需要的数据

 *分支语句

     2.2:统计

           2.2.1:聚合函数

           2.2.2:Oracle统计函数

                  2.2.2.1:rollup(,)——以第一字段和无条件做小记

select deptno,sex,count(*) 人数 from emp2
group by rollup(deptno,sex);

 

                  2.2.2.2:cube(,)——以第一字段、第二字段和无条件做小记

 

select deptno,sex,count(*) 人数 from emp2
group by cube(deptno,sex);

     2.3:数据入统计表 

select d.deptno,d.dname,
       count(decode(sex,'男',1,null)) 男,
       count(decode(sex,'女',1,null)) 女,
       count(1) 合计
from emp2,dept d where emp2.deptno=d.deptno
group by d.deptno,d.dname
union all
select null,'合计',
       count(decode(sex,'男',1,null)) 男,
       count(decode(sex,'女',1,null)) 女,
       count(1) 合计
from emp2;

 

6报表分类

   6.1:交叉报表——指对表数据的统计有交叉。例如横向和纵向的统计,每一个数据单元都是横纵的交叉。

--统计各部门的不同工资段的人数、部门人数、不同段总人数

 

   6.2:多级报表——是指表头有多行。一般的表头都是一行多列。

 

   6.3:同期报表——今年的X月份与去年同期X月份进行比较

 

   6.4:环比报表——今年的X月份与上个月份进行比较

 

   6.

 

   6.

你可能感兴趣的:(oracle)