在 MySQL 中计算不同站点登录
目标是确定最近一天内对特定网站的唯一访问次数,基于在 cp_visits 表中的 user_id 和 site_id 列上。但是,初始查询似乎为站点访问提供了重复的结果。让我们看看如何纠正这个问题。
提供的查询尝试计算不同的访问次数,但它不包含 GROUP BY 子句,这对于消除重复项至关重要。因此,查询会为每个 site_id 返回多行,因为它不会聚合结果。
为了正确计算不同的站点登录次数,我们需要按 site_id 对结果进行分组,然后对每个站点中的不同 user_id 进行计数团体。以下修改后的查询可实现此目的:
SELECT COUNT(DISTINCT `user_id`) AS `countUsers`, COUNT(`site_id`) AS `countVisits`, `site_id` AS `site` FROM `cp_visits` WHERE `ts` >= DATE_SUB(NOW(), INTERVAL 1 DAY) GROUP BY `site_id`
在此修改后的查询中:
通过应用这些修改,您现在应该从 cp_visits 获取过去一天的唯一网站登录的准确计数表。
以上是如何准确统计最近一天内MySQL的唯一站点登录次数?的详细内容。更多信息请关注PHP中文网其他相关文章!