寻找Mysql查询
我有一个mysql表,其中包含以下3个字段:寻找Mysql查询,mysql,database,Mysql,Database,我有一个mysql表,其中包含以下3个字段: - vouchercode: Unique KEY - voucherstatus: 1 for unused voucher, 3 for used voucher - partnerId 我想显示已使用和未使用的w.r.t partnerId凭证的数量 Example :- table data PartnerId voucherstaus vouchercode(unique) 1 1 1 3 1
- vouchercode: Unique KEY
- voucherstatus: 1 for unused voucher, 3 for used voucher
- partnerId
我想显示已使用和未使用的w.r.t 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查询相同的。似乎我必须使用子查询和分组方式,但这不起作用。提前谢谢
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
为什么用sql server标记此项?为什么用sql server标记此项?
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;