Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengira Lawatan Tapak dan Pengguna yang Berbeza dalam MySQL?

Bagaimanakah Saya Boleh Mengira Lawatan Tapak dan Pengguna yang Berbeza dalam MySQL?

DDD
DDDasal
2024-11-29 08:02:09246semak imbas

How Can I Count Distinct Site Visits and Users in MySQL?

Pengiraan Berbeza dengan "COUNT DISTINCT" MySQL

Apabila bekerja dengan data pangkalan data, selalunya perlu memahami kiraan nilai yang berbeza untuk tertentu sifat-sifat. Dalam MySQL, fungsi "COUNT DISTINCT" membolehkan anda mencapainya.

Pertimbangkan senario di mana anda perlu menentukan bilangan lawatan tapak yang berbeza ke tapak web anda semalam. Menggunakan pertanyaan berikut:

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, pertanyaan ini mengembalikan berbilang hasil dengan site_id yang sama. Untuk mendapatkan kiraan log masuk tapak yang berbeza sahaja, anda perlu mengubah suai pertanyaan anda:

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

Penjelasan:

  • Fungsi Count(Distinct user_id) dan Count(site_id) function count kiraan berbeza bagi ID pengguna dan ID tapak, masing-masing.
  • Klausa Kumpulan Mengikut site_id mengumpulkan keputusan mengikut ID tapak. Ini memastikan bahawa hanya satu rekod dikembalikan untuk setiap ID tapak yang berbeza.

Hasil pertanyaan ini akan memberikan kiraan pengguna dan lawatan yang berbeza untuk setiap tapak yang dilawati semalam.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Lawatan Tapak dan Pengguna yang Berbeza 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