我有一个不可能是新的问题,但我不知道如何得到我想要的答案。我想念的可能很简单
使用 mysql 5.5,我有 2 个表,“推荐”和“状态”。我想计算已取消的推荐,按 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"
因为每个推荐都可以有自己的数量。