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;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西