select t.deptno,max(t.sumsal) from
(select deptno,sum(sal) sumsal from emp where hiredate between to_date('1981/1/1','yyyy/mm/dd') and to_date('1981/12/31','yyyy/mm/dd')
group by deptno )t
;
想问为什么啊?
(select deptno,sum(sal) sumsal from emp where hiredate between to_date('1981/1/1','yyyy/mm/dd') and to_date('1981/12/31','yyyy/mm/dd')
group by deptno )t
;
想问为什么啊?
解决方案 »
- tnsnames.ora文件中的问题
- oracle数据库安装问题,环境变量
- 函数返回结果集与dblink问题!
- 请教一个存储过程的想法。
- 怎样SQL实现根据树根找它所有的叶子?
- [求助]XP下的FORM BUILDER 和REPORT BUILDER的安装问题!!!!
- 同一会话中锁定了多条记录,如何只解锁其中的某条?
- oracle安装后总提示java.exe出错!!!why????
- 诚征企业信息化解决方案,希望大家讨论一下,发言者有分。
- 财务软件的二次开发一般指的是什么,不是财务软件公司的人能行吗?哪不要知道源码?
- 高分求sql语句,2个表字段一样,查询2个表中数据不同的数据。
- 求助,这个语句怎么改
group by deptno
内循环是取得同一deptno下的sal的总和,这样得到的结果每个deptno只有一个值吧?你再外层max似乎没有意义
就需要再有个group by t.deptno
改成下面的试试
select t.deptno,t.sumsal from
(select deptno,sum(sal) sumsal,
dense_rank()over(order by sum(sal) desc)dk from emp where hiredate between to_date('1981/1/1','yyyy/mm/dd') and to_date('1981/12/31','yyyy/mm/dd')
group by deptno )t
where t.dk=1