Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Pelawat Laman Web Unik Setiap Tapak dengan Cekap dalam MySQL?

Bagaimana untuk Mengira Pelawat Laman Web Unik Setiap Tapak dengan Cekap dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-27 22:07:14624semak imbas

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

Menentukan Bilangan Pelawat Unik daripada Data MySQL

Untuk mengira pelawat unik ke tapak web semalam menggunakan MySQL, anda mungkin pada mulanya mempertimbangkan pertanyaan yang kumpulan mengikut pengguna dan cap masa:

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

Walau bagaimanapun, bergantung semata-mata pada perbezaan ini boleh menyebabkan kepada berbilang hasil dengan nilai site_id yang sama. Untuk menyelesaikan masalah ini, anda perlu mengagregatkan hasil mengikut site_id dan mengira pengguna dan lawatan unik untuk setiap tapak:

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

Pertanyaan ini akan memberikan kiraan pengguna unik (countUsers) dan jumlah lawatan (countVisits) untuk setiap site_id unik. Dengan mengumpulkan hasil mengikut site_id, anda memastikan bahawa hanya log masuk tapak yang berbeza dikira, mengelakkan berbilang hasil untuk tapak yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Pelawat Laman Web Unik Setiap Tapak dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn