SELECT dept, name sal,
SUM (sal) OVER (PARTITION BY dept ORDER BY name) running_sal,
SUM (sal) OVER (PARTITION BY dept) sum
FROM 表;
这个是用SUM OVER做的,有没有不用SUM OVER做的?
谢谢大虾了
SUM (sal) OVER (PARTITION BY dept ORDER BY name) running_sal,
SUM (sal) OVER (PARTITION BY dept) sum
FROM 表;
这个是用SUM OVER做的,有没有不用SUM OVER做的?
谢谢大虾了
解决方案 »
- 创建数据库时没有选择安装example,过后怎么安装它?
- oracle中如何编写知识规则
- SQl模糊查询优化 具有天才的疯子称号的高手进
- oracle 求救啊
- 请教有实际经验的高手,关于blob比long law好在哪
- 怎样用一个查询语句查询一个表中有几个字段?要求得出的是一个数字而不是字段名。
- Oracle 开发版提问建议
- 帮我看一下一句话的最简单的存储过程,
- 帮帮忙什么地方可以下载到oracle10g
- select to_char(visit_date,'yyyyMMdd') || to_char(visit_no,'00000')
- 请问各位,我该如何建表?
- 一个存储过程的问题,急,在线等!!
from test t1,test t2,(select dept,sum(sal) sum from test group by dept) t3
where t1.dept=t2.dept and t1.name>=t2.name and t1.dept=t3.dept
group by t1.dept,t1.name,t3.sum
where t1.dept=t2.dept and t1.name>=t2.name and t1.dept=t3.dept
group by t1.dept,t1.name,t3.sum
没看懂
将T3中符合t1.dept=t3.dept的记录检索出来,
再将符合t1.dept=t2.dept and t1.name>=t2.name的检索出来
这个比较:比如dept=1的记录,当t1.dept=1 and t1.name=a 时
t2.dept=1, 同时根据t1.name>=t2.name,t2.name=a,sum(t2.sal)=100
当t1.dept=1 and t1.name=b时,t2.name=a或者b ,sum(t2.sal)=100+300
依次类推
这里t3跟t2基本没关系