使用WHERE的mysql多计数

时间:2011-04-15 00:42:48

标签: mysql count

我有以下查询:

 SELECT COUNT(*) AS item_count,
 reseller_id, count(**WHERE sold=1**) as sold_count
 count(**WHERE refunded=1**) as rrefunded
 FROM store GROUP BY
 reseller_id

已售出1或0,退款也相同。

我想检查每个经销商销售的金额和退款金额,但我不知道如何在一次查询中做到这一点。

2 个答案:

答案 0 :(得分:3)

请改为尝试:

SELECT 
  reseller_id,
  COUNT(*) AS item_count,  
  sum(case sold when 1 then 1 else 0 end) as sold_count,
  sum(case refunded when 1 then 1 else 0 end) as refunded_count
FROM store
GROUP by reseller_id

答案 1 :(得分:3)

如果它的1或0你可以做SUM()

SELECT SUM(sold) as sold_count, SUM(refunded) as refund_count FROM store