Maison >base de données >tutoriel mysql >Comment compter efficacement les visiteurs uniques d'un site Web par site dans MySQL ?

Comment compter efficacement les visiteurs uniques d'un site Web par site dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-27 22:07:14572parcourir

How to Efficiently Count Unique Website Visitors Per Site in MySQL?

Détermination du nombre de visiteurs uniques à partir des données MySQL

Pour compter les visiteurs uniques d'un site Web hier à l'aide de MySQL, vous pouvez initialement envisager une requête qui groupes par utilisateur et horodatage :

SELECT
    DISTINCT `user_id` AS user,
    `site_id` AS site,
    `ts` AS time
FROM
    `cp_visits`
WHERE
    ts >= DATE_SUB(NOW(), INTERVAL 1 DAY)

Cependant, se fier uniquement à cette distinction peut conduire à plusieurs résultats avec le même site_id valeur. Pour résoudre ce problème, vous devez agréger les résultats par site_id et compter les utilisateurs uniques et les visites pour chaque site :

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

Cette requête fournira le nombre d'utilisateurs uniques (countUsers) et le nombre total de visites. (countVisits) pour chaque site_id unique. En regroupant les résultats par site_id, vous vous assurez que seules les connexions distinctes au site sont comptées, évitant ainsi plusieurs résultats pour le même site.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn