基于前两行的标记值组的不同ID的计数

时间:2015-10-23 15:34:45

标签: oracle-sqldeveloper

所以,我有一张看起来像这样的表:

card_no trx_date    product_id  flag

 1    17/09/2015      1111    CANDIDATE

 1    17/09/2015      2222    NO

 1    17/09/2015      3333    CANDIDATE

 1    18/09/2015      2222    NULL

 1    18/09/2015      3333    CANDIDATE

 2    17/09/2015      1111    YES

 2    17/09/2015      2222    CANDIDATE

 2    18/09/2015      3333    CANDIDATE

我想要的是根据以下标准计算product_id:

  • 对于同一张卡和trx_date,如果有一个设置为'是'的标志,则计算具有'是'的product_id。标志

  • 对于同一张卡和trx_date,如果有一个设置为' No'的标志,则计算此卡的任何product_id + trx_date,其中包含'候选&#39 ;标志

  • 对于同一张卡和trx_date,如果有一个设置为' No'的标志,但此卡和trx_date没有其他重新标记,请不要计算任何产品

  • 对于同一张卡和trx_date,如果有一个标记设置为' Null',则计算此卡的任何product_id + trx_date,其中包含' Candidate&#39 ;标志

我最终想要的是:

Product_id|Counts

      1111| 657

      2222| 456

...

我希望这是有道理的。

0 个答案:

没有答案