商品別売上でカウントする対象(プライム会員だけ、20歳以上など)を指定するSQL文(CASE文を使うだけ!)
単純に商品コード別の売上個数
1 2 3 4 5 6 7 |
select product_code, sum(quantity) as saled_quantity from orders group by product_code |
CASE文を使って、カウントする対象(プライム会員だけ、18歳以上など)を指定すると、条件付き合計値が得られる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
select product_code, /* 会員から注文された数 */ sum(quantity) as saled_quantity, /* プライム会員の注文数 */ sum(case when customers.prime_flag = 1 then orders.quantity else 0 end) as prime_saled_quantity, /* 20歳以上の会員の注文数 */ sum(case when customers.age >= 20 then orders.quantity else 0 end) as adult_saled_quantity, from orders left join customers on orders.costomer_id = customers.id group by product_code |