首頁 >資料庫 >mysql教程 >如何準確統計最近一天內MySQL的唯一網站登入次數?

如何準確統計最近一天內MySQL的唯一網站登入次數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-30 07:27:10536瀏覽

How to Accurately Count Unique Site Logins in MySQL within the Last Day?

在MySQL 中計算不同網站登入

目標是確定最近一天內對特定網站的唯一造訪次數,基於在cp_visits 表中的user_id 和site_id 欄位上。但是,初始查詢似乎為網站存取提供了重複的結果。讓我們看看如何修正這個問題。

提供的查詢嘗試計算不同的存取次數,但它不包含 GROUP BY 子句,這對於消除重複項至關重要。因此,查詢會為每個 site_id 傳回多行,因為它不會聚合結果。

為了正確計算不同的網站登入次數,我們需要按 site_id 對結果分組,然後對每個網站中的不同 user_id 進行計數團體。以下修改後的查詢可實現此目的:

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`

在此修改後的查詢中:

  • COUNT(DISTINCT user_id) 計算訪問每個站點的唯一用戶數。
  • COUNT(site_id) 統計每個網站的總造訪次數。
  • GROUP BY site_id` 按 site_id` 聚合結果,確保我們計算每個網站的唯一造訪次數。

透過套用這些修改,您現在應該從 cp_visits 取得過去一天的唯一網站登入的準確計數表。

以上是如何準確統計最近一天內MySQL的唯一網站登入次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn