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!