ITPub博客

首页 > 数据库 > Oracle > oracle sum()聚合函数

oracle sum()聚合函数

原创 Oracle 作者:oracle0215 时间:2016-05-13 20:08:00 0 删除 编辑
Oracle 的sum聚合函数的功能就是求和(这里暂时不讨论分析函数用法),一般用法不多讲,有个用法比较令人疑惑,曾经也踩过它的坑。示例如下:
 declare
   cursor t_cur is
     select * from emp where empno = 7934 ;
   v_count number;
 begin
   for tm_cur in t_cur loop
     select sum(tm_cur.sal) into v_count from dept;
   end loop;
   dbms_output.put_line(v_count);
 end;

这里的sum 求和的不是dept里面的字段,而是select 以外的其他值,刚开始看,还真一下子转不过来。再仔细想想,其实很简单,如下:
SQL> select 1 from dept ;
         1
----------
         1
         1
         1
         1
SQL> select sum(1) from dept;
    SUM(1)
----------
         4
所以select sum(tm_cur.sal) into v_count from dept 的意思很简单,即结果为tm_cur.sal * (dept的行数);

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30741760/viewspace-2099462/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-12-24

  • 博文量
    7
  • 访问量
    22245