查询数据库表某一列出现某个词的个数,累加,不存在补0

场景描述:办案方式、处置情况、办理结果分别为一个字段,下边的分支分别对应字段的不同值。

现需要统计每个字段不同值的数量,没有的需要填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", ' 1', 1,0)) as CASE_YDBL ,
"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", '2', 1,0)) as CASE_CH ,
"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函数累加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值