Oracle中的SUM用法講解
Oracle中的SUM條件查詢
1、按照區(qū)域編碼分組查詢區(qū)域編碼、IPTV_NBR不為空的數(shù)量、ACC_NBR不為空的數(shù)量、所有用戶數(shù)量
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不為空的數(shù)量
SUM ( CASE WHEN IPTV_NBR IS NULL or IPTV_NBR = '' THEN 0 ELSE 1 END )
SUM里邊使用CASE WHEN 語(yǔ)句
當(dāng)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;
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方式
今天小編就為大家分享一篇關(guān)于Oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02Oracle使用in語(yǔ)句不能超過1000問題的解決辦法
最近項(xiàng)目中使用到了Oracle中where語(yǔ)句中的in條件查詢語(yǔ)句,在使用中發(fā)現(xiàn)了問題,所以下面這篇文章主要給大家介紹了關(guān)于Oracle使用in語(yǔ)句不能超過1000問題的解決辦法,需要的朋友可以參考下2022-05-05Oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER()實(shí)例詳解
本文通過實(shí)例代碼給大家介紹了oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER(),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Oracle數(shù)據(jù)表保留一條重復(fù)數(shù)據(jù)簡(jiǎn)單方法
最近開發(fā)的時(shí)候遇到一個(gè)任務(wù),需要對(duì)重復(fù)的數(shù)據(jù)進(jìn)行篩選,所以下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)表保留一條重復(fù)數(shù)據(jù)的簡(jiǎn)單方法,需要的朋友可以參考下2023-11-11在Oracle數(shù)據(jù)庫(kù)中同時(shí)更新兩張表的簡(jiǎn)單方法
這篇文章主要介紹了在Oracle數(shù)據(jù)庫(kù)中同時(shí)更新兩張表的簡(jiǎn)單方法,同時(shí)介紹了一種差異性合并更新的方法,需要的朋友可以參考下2015-11-11