查詢資料庫表某一列出現某個詞的個數,累加,不存在補0
阿新 • • 發佈:2019-01-08
場景描述:辦案方式、處置情況、辦理結果分別為一個欄位,下邊的分支分別對應欄位的不同值。
現需要統計每個欄位不同值的數量,沒有的需要填0,存在的進行累加。
select
CASE_INFO.CITY_CODE ,"SUM"("DECODE"("CASE_INFO"."CASE_AJLB", '01', 1,'02',1,'03',1,'04',1,'05',1,0)) as CASE_SHSEFB ,
"SUM"("DECODE"("CASE_INFO"."CASE_AJLB", '1', 1,0)) as CASE_BHS ,
"SUM"("DECODE"("CASE_INFO"."CASE_BAFS", '0', 1,0)) as CASE_ZCZB ,
"SUM"("DECODE"("CASE_INFO"."CASE_BAFS"
"SUM"("DECODE"("CASE_INFO"."CASE_BAFS", '2', 1,0)) as CASE_SDBL ,
"SUM"("DECODE"("CASE_INFO"."CASE_BAFS", '3', 1,0)) as CASE_QT ,
"SUM"("DECODE"("CASE_INFO"."CASE_CZQK", '0', 1,0)) as CASE_DC ,
"SUM"("DECODE"("CASE_INFO"."CASE_CZQK", '1', 1,0)) as CASE_HCZ ,
"SUM"("DECODE"("CASE_INFO"."CASE_CZQK"
"SUM"("DECODE"("CASE_INFO"."CASE_CZQK", '3', 1,0)) as CASE_LASC ,
"SUM"("DECODE"("CASE_INFO"."CASE_BLJG", '0', 1,0)) as CASE_CSCJ ,
"SUM"("DECODE"("CASE_INFO"."CASE_BLJG", '1', 1,0)) as CASE_CFCJ ,
"SUM"("DECODE"("CASE_INFO"."CASE_BLJG", '2', 1,0)) as CASE_YSGAJG
FROM CASE_INFO LEFT JOIN CLUE_INFO ON CASE_INFO.CLUE_ID = CLUE_INFO.CLUE_ID
WHERE CLUE_INFO.CLUE_SOURCE ='00' OR CLUE_INFO.CLUE_SOURCE ='01' OR CLUE_INFO.CLUE_SOURCE ='02' OR CLUE_INFO.CLUE_SOURCE ='03'
GROUP BY CASE_INFO.CITY_CODE
注:1.orcale資料庫 2. decode函式的理解 (oracle);對於mysql實現可用case when 3.sum函式累加