我有一个基本上为特定用户收集选票的表格:
ID | user_id | ip | timestamp
每次有人为用户投票时,都会创建一个条目,记录他们投票的 user_id、他们的 IP 地址以及时间和日期。为了防止作弊,我们不允许每个用户每个 IP 每天超过 20 票。
现在我想从给定日期开始验证这些投票,我自己提出了以下查询,但我绝不是专家,所以如果有人能告诉我我是否正确,我将不胜感激它。
SELECT count(*) As `votes`, user_id, ip, DATE( timestamp ) the_date
FROM `user_votes`
GROUP BY user_id, ip, the_date
HAVING the_date > '2012-07-26'
ORDER BY the_date ASC, user_id ASC, votes DESC