0

我有一个表,其中有一列名为 PEGA ID,该列的值是 111、222 等,还有一些 0,当我在下面执行 qry 时,所有 0 都被过滤了如何计算那些 0,我可以使用联合吗?

SELECT  
    ivr.dw_dealer_id, 
    ivr.dw_product_id, 
    ivr.dw_program_type_id, 
    ivr.dw_month_id, 
    TO_CHAR(ivr_update_dt, 'YYYYMM') buss_month, 
    count(*)
FROM  idm_ivr_interaction ivr, stgdba.interactions intr
WHERE ivr.cti_rec_id = intr.pega_id
4

1 回答 1

0

编辑:由于 OP 特别提到它0不是空值,我们将查询更改为使用case.

count(case when ivr.dw_dealer_id = 0 then 1 else ivr.dw_dealer_id end)

或者只使用带有 last 的查询OR

SELECT  
        ivr.dw_dealer_id, 
        ivr.dw_product_id, 
        ivr.dw_program_type_id, 
        ivr.dw_month_id, 
        TO_CHAR(ivr_update_dt, 'YYYYMM') buss_month, 
        count(ivr.dw_dealer_id) as counts
    FROM  idm_ivr_interaction ivr, stgdba.interactions intr
    WHERE ivr.cti_rec_id = intr.pega_id
    AND (intr.pega_id IS NULL OR ivr.cti_rec_id IS NULL)

环绕nvl身份证...

SELECT  
    ivr.dw_dealer_id, 
    ivr.dw_product_id, 
    ivr.dw_program_type_id, 
    ivr.dw_month_id, 
    TO_CHAR(ivr_update_dt, 'YYYYMM') buss_month, 
    count(nvl(ivr.dw_dealer_id,1))
FROM  idm_ivr_interaction ivr, stgdba.interactions intr
WHERE ivr.cti_rec_id = intr.pega_id
AND (intr.pega_id IS NULL OR ivr.cti_rec_id IS NULL)
  • 顺便说一句,你正在使用的应该有一个Group By......count
于 2013-01-09T19:56:35.120 回答