Oracle中的SUM用法讲解
Oracle中的SUM条件查询
1、按照区域编码分组查询区域编码、IPTV_NBR不为空的数量、ACC_NBR不为空的数量、所有用户数量
SELECT AREA_CODE, SUM( CASE WHENIPTV_NBRISNULLorIPTV_NBR=''THEN 0 ELSE 1 END ), SUM( CASE WHENACC_NBRISNULLorACC_NBR=''THEN 0 ELSE 1 END ), COUNT(*) FROM GAT_SQMS.GAT_SQMS_BAND_IPTV_VIEW GROUPBY AREA_CODE;
2、使用sum条件查询
查询IPTV_NBR不为空的数量
SUM( CASE WHENIPTV_NBRISNULLorIPTV_NBR=''THEN 0 ELSE 1 END )
SUM里边使用CASEWHEN语句
当IPTV_NBRISNULL为0,ELSE为1
oracle中sum字符串方法
CREATEORREPLACEFUNCTIONSumString(i_TableNameINVARCHAR2, i_GroupColNameINVARCHAR2, i_ResultColNameINVARCHAR2, i_GroupColValueINVARCHAR2, i_SeparatorINVARCHAR2) RETURNVARCHAR2IS TYPET_CurISREFCURSOR; C_CurT_Cur; V_SqlVARCHAR2(2000); V_ResultVARCHAR2(2000); V_TmpVARCHAR2(200); V_CntNUMBER:=0; BEGIN V_Result:=''; V_Sql:='SELECT'||i_ResultColName||'FROM'||i_TableName|| 'WHERE'||i_GroupColName||'='||i_GroupColValue; OPENC_CurFORV_Sql; LOOP FETCHC_Cur INTOV_Tmp; EXITWHENC_Cur%NOTFOUND; IFV_Cnt=0THEN V_Result:=V_Tmp; ELSE V_Result:=V_Result||i_Separator||V_Tmp; ENDIF; V_Cnt:=V_Cnt+1; ENDLOOP; CLOSEC_Cur; RETURNV_Result; ENDSUMSTRING;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志