1

我的表中有四列

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

但我只想要具有 value=1 的计数而不是全部

4

2 回答 2

1

只需按如下方式使用 SUM:

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

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

于 2013-03-16T01:24:11.180 回答
0

不完全确定这是否会起作用,但如果不起作用,它可能会有所帮助

select customer,count(PRODUCTA),count(PRODUCTB) from rm_saicharan_final6 group by customer where PRODUCTA>0 and PRODUCTB>0
于 2013-03-16T01:18:45.573 回答