从 MySQL 数据确定唯一访问者计数
要使用 MySQL 计算昨天访问网站的唯一访问者,您可能首先考虑以下查询:按用户和时间戳进行分组:
SELECT DISTINCT `user_id` AS user, `site_id` AS site, `ts` AS time FROM `cp_visits` WHERE ts >= DATE_SUB(NOW(), INTERVAL 1 DAY)
但是,仅依赖这种区别可能会导致多个结果具有相同的 site_id 值。要解决此问题,您需要按 site_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
此查询将提供唯一用户计数 (countUsers) 和总访问次数(countVisits) 每个唯一的 site_id。通过按 site_id 对结果进行分组,您可以确保仅计算不同的站点登录,从而避免同一站点出现多个结果。
以上是如何在 MySQL 中有效地统计每个站点的唯一网站访问者?的详细内容。更多信息请关注PHP中文网其他相关文章!