0

次の 3 つのフィールドを持つ mysql テーブルがあります。

- vouchercode: Unique KEY
- voucherstatus: 1 for unused voucher, 3 for used voucher
- partnerId

PartnerId について、使用済みおよび未使用のバウチャーの数を表示したいと考えています。

Example :- table data 
PartnerId voucherstaus  vouchercode(unique)
1          1
1          3 
1          1
2          3
2          3
2          1


Result:
PartnerId  usedvouchers unusedvouchers
1          1             2
2          2             1

同じためのmysqlクエリを手伝ってください。サブクエリを使用する必要があり、group by が機能しないようです。前もって感謝します

4

2 に答える 2

3
SELECT  partnerID,
        SUM(CASE WHEN voucherstatus = 1 THEN 1 ELSE 0 END) unusedvouchers,
        SUM(CASE WHEN voucherstatus = 3 THEN 1 ELSE 0 END) usedvouchers 
FROM    data
GROUP   BY partnerID
于 2013-05-07T04:31:59.870 に答える
0
select PartnerId, SUM(case when  voucher_status =1 then 1 else 0 end) as unused, sum(case when  voucher_status =3 then 1 else 0 end) as used from Voucher group by PartnerID;

sqlfiddle *デモ*

于 2013-05-07T04:40:38.770 に答える