【发布时间】:2012-11-17 19:10:19
【问题描述】:
我有一个不可能是新的问题,但我不知道如何得到我想要的答案。这可能是我缺少的一些简单的东西
使用 mysql 5.5,我有 2 个表,'referrals' 和 'status'。我要统计已取消的推荐,按 appt_date 分组:
SELECT SUM(1) AS count, appt_date FROM referrals
GROUP BY appt_date
JOIN status ON referrals.id=status.referral_id
WHERE status.status_name="cancelled"
这工作正常,直到我有一个被取消两次的推荐。换句话说,具有给定 id 的引荐在状态表中有 2 行与匹配的引荐_id 将被计算两次。
这里做join操作时如何只统计每条推荐记录一次?
编辑: 我真正的问题应该是这样的:
SELECT SUM(quantity) AS count, appt_date FROM referrals
GROUP BY appt_date
JOIN status ON referrals.id=status.referral_id
WHERE status.status_name="cancelled"
因为每个推荐都可以有自己的数量。
【问题讨论】:
-
根据 IrishDubGuy 提供的答案,我认为我不应该尝试简化我的问题。上面编辑的问题。