2013-03-16 4 views
1

У меня есть четыре колонки в моей таблицеExtract идентификатор вместе с подсчетом других столбцов

CUSTOMER, TRANSACTION(UNIQUE) PRODUCTA PRODUCTB 

продукт А или продукт B является либо 0 или 1 в зависимости от пункта купленного. Оба они не равны 1, так как каждая строка соответствует транзакции, и она является либо A, либо B.

Теперь я хочу извлечь данные, чтобы каждый клиент был указан вместе с количеством единиц товара A покупок и продукта B покупки он сделал.

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

Его возвращение всего количества, включая 0s.

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

Но я хочу только граф, имеющий значение = 1 не все

ответ

1

Просто используйте SUM, как следующим образом:

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

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

+0

Спасибо, это сработало, очень изящно и просто ответ – user2133404

+0

Вы очень желанны. Агрегатная функция «Count» просто подсчитывает количество строк. –

0

Не совсем уверен, если это будет работать, но, если он не делает, то это может помочь

select customer,count(PRODUCTA),count(PRODUCTB) from rm_saicharan_final6 group by customer where PRODUCTA>0 and PRODUCTB>0 
Смежные вопросы