Comptage des connexions à des sites distincts dans MySQL
L'objectif est de déterminer le nombre de visites uniques sur un site Web particulier au cours du dernier jour, en fonction sur les colonnes user_id et site_id de la table cp_visits. Cependant, la requête initiale semble fournir des résultats en double pour les visites de sites. Examinons comment résoudre ce problème.
La requête fournie tente de compter les visites distinctes, mais elle n'inclut pas de clause GROUP BY, cruciale pour éliminer les doublons. Par conséquent, la requête renvoie plusieurs lignes pour chaque site_id, car elle ne regroupe pas les résultats.
Pour compter correctement les connexions distinctes au site, nous devons regrouper les résultats par site_id, puis compter les user_ids distincts dans chaque groupe. La requête modifiée suivante accomplit cela :
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`
Dans cette requête révisée :
En appliquant ces modifications, vous devriez maintenant obtenir un nombre précis de connexions uniques au site pour la journée écoulée à partir de votre table cp_visits.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!