Oracle中的SUM用法讲解
程序员文章站
2023-12-13 20:16:28
oracle中的sum条件查询
1、按照区域编码分组查询区域编码、iptv_nbr不为空的数量、acc_nbr不为空的数量、所有用户数量
select
are...
oracle中的sum条件查询
1、按照区域编码分组查询区域编码、iptv_nbr不为空的数量、acc_nbr不为空的数量、所有用户数量
select area_code, sum ( case when iptv_nbr is null or iptv_nbr = '' then 0 else 1 end ), sum ( case when acc_nbr is null or acc_nbr = '' then 0 else 1 end ), count (*) from gat_sqms.gat_sqms_band_iptv_view group by area_code;
2、使用sum条件查询
查询iptv_nbr不为空的数量
sum ( case when iptv_nbr is null or iptv_nbr = '' then 0 else 1 end )
sum里边使用case when 语句
当iptv_nbr is null 为0,else 为1
oracle中sum字符串方法
create or replace function sumstring(i_tablename in varchar2, i_groupcolname in varchar2, i_resultcolname in varchar2, i_groupcolvalue in varchar2, i_separator in varchar2) return varchar2 is type t_cur is ref cursor; c_cur t_cur; v_sql varchar2(2000); v_result varchar2(2000); v_tmp varchar2(200); v_cnt number := 0; begin v_result := ' '; v_sql := 'select ' || i_resultcolname || ' from ' || i_tablename || ' where ' || i_groupcolname || ' = ' || i_groupcolvalue; open c_cur for v_sql; loop fetch c_cur into v_tmp; exit when c_cur%notfound; if v_cnt = 0 then v_result := v_tmp; else v_result := v_result || i_separator || v_tmp; end if; v_cnt := v_cnt + 1; end loop; close c_cur; return v_result; end sumstring;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接