我一直在与垃圾邮件作斗争,所以我想限制用户每天联系不超过 40 个新的唯一成员。
我当前用于跟踪消息的数据库架构如下所示
id sender receiver content date belong_to
100 5 7 send1 2013-02-08 09:31:36 5
101 5 7 send1 2013-02-08 09:31:36 7
102 7 5 recevd 2013-02-08 09:32:18 7
103 7 5 recevd 2013-02-08 09:32:18 5
我当前的查询看起来像这样返回过去 24 小时内不同收件人的数量:
SELECT COUNT(DISTINCT(receiver))
FROM `messages`
WHERE sender = 5
AND date >= DATE_SUB(NOW(), INTERVAL 1 DAY)
基于此示例的输出为 1,但由于用户响应,我希望将其排除在计数之外。
根据我的示例数据,我想从我的计数中排除这两个条目,因为接收者已经响应了发送者。我将如何计算过去 24 小时内的唯一收件人,但排除从一开始就回复此发件人的任意数量的收件人?