Payments Table
Customer | Payment_type | Amount | —— | —— |———–| Peter | Credit | 100 | Peter | Credit | 300 | John | Credit | 1000 | John | Debit | 500 |
select customer,
sum(case when payment_type = 'credit' then amount else 0 end) as credit,
sum(case when payment_type = 'debit' then amount else 0 end) as debit
from payments
group by customer
Result:
Customer | Credit | Debit | —— |———–|———| Peter | 400 | 0 | John | 1000 | 500 |
select customer,
sum(case when payment_type = 'credit' then 1 else 0 end) as credit_transaction_count,
sum(case when payment_type = 'debit' then 1 else 0 end) as debit_transaction_count
from payments
group by customer
Result:
Customer | credit_transaction_count| debit_transaction_count | —— |———–|––––| Peter | 2 | 0 | John | 1 | 1 |