提取id以及其他列的计数

时间:2013-03-16 01:11:57

标签: sql oracle oracle-sqldeveloper

我的表格中有四列

CUSTOMER, TRANSACTION(UNIQUE) PRODUCTA PRODUCTB

产品A或产品B为0或1,具体取决于购买的商品。两者都不等于1,因为每行对应一个事务,它是A或B.

现在我想提取数据,以便列出每个客户以及他购买的产品A购买和产品B的数量。

select customer,count(PRODUCTA),count(PRODUCTB) from rm_saicharan_final6 group by customer

它返回所有计数,包括0。

CUSTOMER   PRODUCTA   PRODUCTB
--------   --------   ---------
32444       209        209

但我只希望计数值= 1而不是全部

2 个答案:

答案 0 :(得分:1)

只需按如下方式使用SUM:

select customer,SUM(PRODUCTA),SUM(PRODUCTB) 
from rm_saicharan_final6 group by customer

SQLFiddle:http://sqlfiddle.com/#!4/ee7da/596

答案 1 :(得分:0)

不完全确定这是否有效,但如果没有,可能会有所帮助

select customer,count(PRODUCTA),count(PRODUCTB) from rm_saicharan_final6 group by customer where PRODUCTA>0 and PRODUCTB>0