1. 程式人生 > 資料庫 >Oracle中的SUM條件查詢

Oracle中的SUM條件查詢

Oracle中的SUM條件查詢

1、按照區域編碼分組查詢區域編碼、IPTV_NBR不為空的數量、ACC_NBR不為空的數量、所有使用者數量

1234567891011121314151617181920212223SELECTAREA_CODE,SUM (CASEWHEN IPTV_NBR IS NULL or IPTV_NBR = '' THEN0ELSE1END),SUM (CASEWHEN ACC_NBR IS NULL or ACC_NBR = '' THEN0ELSE1END),COUNT (*)FROMGAT_SQMS.GAT_SQMS_BAND_IPTV_VIEWGROUP BYAREA_CODE;

2、使用sum條件查詢

查詢IPTV_NBR不為空的數量

12345678SUM (CASEWHEN IPTV_NBR IS NULL or IPTV_NBR = '' THEN0ELSE1END)

SUM裡邊使用CASE WHEN 語句

當IPTV_NBR IS NULL 為0,ELSE 為1

oracle中sum字串方法

12345678910111213141516171819202122232425262728293031CREATE 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;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對指令碼之家的支援。如果你想了解更多相關內容請檢視下面相關連結

                        <div class="art_xg">
                            <b>您可能感興趣的文章:</b><ul><li><a href="/article/158794.htm" title="從Oracle資料庫中讀取資料自動生成INSERT語句的方法" target="_blank">從Oracle資料庫中讀取資料自動生成INSERT語句的方法</a></li><li><a href="/article/158790.htm" title="mysql資料庫和oracle資料庫之間互相匯入備份" target="_blank">mysql資料庫和oracle資料庫之間互相匯入備份</a></li><li><a href="/article/158787.htm" title="PHP+Oracle本地開發環境搭建方法詳解" target="_blank">PHP+Oracle本地開發環境搭建方法詳解</a></li><li><a href="/article/158689.htm" title="Myeclipse連結Oracle等資料庫時lo exception: The Network Adapter could not establish the connection" target="_blank">Myeclipse連結Oracle等資料庫時lo exception: The Network Adapter could not establish the connection</a></li><li><a href="/article/158684.htm" title="oracle如何解鎖封鎖的賬號" target="_blank">oracle如何解鎖封鎖的賬號</a></li><li><a href="/article/158665.htm" title="為Plesk PHP7啟用Oracle OCI8擴充套件方法總結" target="_blank">為Plesk PHP7啟用Oracle OCI8擴充套件方法總結</a></li><li><a href="/article/157877.htm" title="Mapper批量插入Oracle資料@InsertProvider註解" target="_blank">Mapper批量插入Oracle資料@InsertProvider註解</a></li><li><a href="/article/157824.htm" title="MySQL實現類似Oracle序列的方案" target="_blank">MySQL實現類似Oracle序列的方案</a></li><li><a href="/article/157733.htm" title="如何利用Oracle命令解決函式執行錯誤" target="_blank">如何利用Oracle命令解決函式執行錯誤</a></li><li><a href="/article/157563.htm" title="SELECT INTO 和 INSERT INTO SELECT 兩種表複製語句詳解(SQL資料庫和Oracle資料庫的區別)" target="_blank">SELECT INTO 和 INSERT INTO SELECT 兩種表複製語句詳解(SQL資料庫和Oracle資料庫的區別)</a></li></ul>
                        </div>

                    <p class="tip">也許是最全java資料!(文件+專案+資料)<a href="https://mp.weixin.qq.com/s/HFvRM6gpaACettv5ffM0tg" target="_blank">【點選下載】</a> 和努力的人一起學習Java!</p></div>