急!!!!多表联合查询后在查询结果中添加一行统计 select ... from a,b,c,d,e where ....union select sum(lie2),sum(lie3) from a,b,c,d,e where ...或者用rollup,cube函数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意cenlmmx,注意数据对齐,最后的汇总行上对应的位置上要有对应的数据,例如union select '',sum(lie2),sum(lie3) from a,b,c,d,e where ... 下面的语句检索出需要进行统计的数据集(包含部门名称dname、职位job、工资sal):SQL> select dept.dname,emp.job,sal from emp,dept2 where emp.deptno=dept.deptno;DNAME JOB SAL-------------- --------- ----------RESEARCH CLERK 800SALES SALESMAN 1600SALES SALESMAN 1250RESEARCH MANAGER 2975SALES SALESMAN 1250SALES MANAGER 2850ACCOUNTING MANAGER 2450ACCOUNTING PRESIDENT 5000SALES SALESMAN 1500SALES CLERK 950RESEARCH ANALYST 3000ACCOUNTING CLERK 1300已选择12行。下面,我们就根据部门名称以及职位进行汇总,并为每个部门生成’小计’,最后生成’合计’。SQL> select decode(grouping(dept.dname),1,'合计:',dept.dname) dname, 2 decode(grouping(emp.job)+grouping(dept.dname),1,'小计:',emp.job) job,sum(sal) sum_sal from emp,dept 3 where emp.deptno=dept.deptno group by rollup(dept.dname,emp.job);DNAME JOB SUM_SAL-------------- --------- ----------ACCOUNTING CLERK 1300ACCOUNTING MANAGER 2450ACCOUNTING PRESIDENT 5000ACCOUNTING 小计: 8750RESEARCH ANALYST 3000RESEARCH CLERK 800RESEARCH MANAGER 2975RESEARCH 小计: 6775SALES CLERK 950SALES MANAGER 2850SALES SALESMAN 5600SALES 小计: 9400合计: 24925已选择13行。SQL> 还有一个问题就是加上 order by 以后顺序就乱掉了 分开order by,什么地方会乱掉? order by XXX (desc) ; “合计”位置不一定在第一个或最后一个 这样创建自增长不是很好,因为在长到009的时候,就会到0010,而实际上应该是010,我应该如何创建呢? about database link 数据库备份 Oracle数据库的速度问题,高手请进,解决马上结帖!!! 如何用一条SQL语句实现根据A表的条件1的查询结果,得到A表条件2的一个累计,并放到同一列中 在 Oracle 中,如何向一个 SQL Server 的日期型字段正确赋值? 这个过程怎样写 关于日期的where查询语句 trigger:每次update table1,table2字段值自增1,不运行? 小问题一个 一个关于游标的使用问题 不知道有没有好办法?
union
select '',sum(lie2),sum(lie3) from a,b,c,d,e where ...
SQL> select dept.dname,emp.job,sal from emp,dept
2 where emp.deptno=dept.deptno;DNAME JOB SAL
-------------- --------- ----------
RESEARCH CLERK 800
SALES SALESMAN 1600
SALES SALESMAN 1250
RESEARCH MANAGER 2975
SALES SALESMAN 1250
SALES MANAGER 2850
ACCOUNTING MANAGER 2450
ACCOUNTING PRESIDENT 5000
SALES SALESMAN 1500
SALES CLERK 950
RESEARCH ANALYST 3000
ACCOUNTING CLERK 1300已选择12行。下面,我们就根据部门名称以及职位进行汇总,并为每个部门生成’小计’,最后生成’合计’。SQL> select decode(grouping(dept.dname),1,'合计:',dept.dname) dname,
2 decode(grouping(emp.job)+grouping(dept.dname),1,'小计:',emp.job) job,sum(sal) sum_sal from emp,dept
3 where emp.deptno=dept.deptno group by rollup(dept.dname,emp.job);DNAME JOB SUM_SAL
-------------- --------- ----------
ACCOUNTING CLERK 1300
ACCOUNTING MANAGER 2450
ACCOUNTING PRESIDENT 5000
ACCOUNTING 小计: 8750
RESEARCH ANALYST 3000
RESEARCH CLERK 800
RESEARCH MANAGER 2975
RESEARCH 小计: 6775
SALES CLERK 950
SALES MANAGER 2850
SALES SALESMAN 5600
SALES 小计: 9400
合计: 24925已选择13行。
SQL>