我有以下查询多计数i制成:MySQL的与WHERE
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和相同退款。
我想检查每个经销商销售多少和退款多少,但我不知道如何在一个查询中执行此操作。
我有以下查询多计数i制成:MySQL的与WHERE
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和相同退款。
我想检查每个经销商销售多少和退款多少,但我不知道如何在一个查询中执行此操作。
如果1或0,你可以做SUM()
SELECT SUM(sold) as sold_count, SUM(refunded) as refund_count FROM store
试试这个:
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
正是我一直在寻找 – TDSii 2011-04-15 01:29:39
这可以工作的伟大 – TDSii 2011-04-15 01:02:59
@TDSii:你应该取消接受我的答案并接受这一个 - 我错过了你的文章中说'出售1或0和退款相同'的部分,因此我的CASE用法是不必要的。我自己给Dmitriy +1。 :) – 2011-04-15 01:10:16
我知道,但你的将在未来得心应手,我在这里学习新的东西,但我错过了这个总和(),但我会改变你的要求最好的答案。感谢两个! – TDSii 2011-04-15 01:31:25