Heim >Datenbank >MySQL-Tutorial >Wie kann man eindeutige Site-Anmeldungen in MySQL innerhalb des letzten Tages genau zählen?
Zählen eindeutiger Site-Anmeldungen in MySQL
Das Ziel besteht darin, die Anzahl der eindeutigen Besuche auf einer bestimmten Website innerhalb des letzten Tages zu ermitteln in den Spalten user_id und site_id in der Tabelle cp_visits. Allerdings scheint die erste Abfrage doppelte Ergebnisse für Website-Besuche zu liefern. Sehen wir uns an, wie dieses Problem behoben werden kann.
Die bereitgestellte Abfrage versucht, einzelne Besuche zu zählen, enthält jedoch keine GROUP BY-Klausel, die für die Eliminierung von Duplikaten von entscheidender Bedeutung ist. Infolgedessen gibt die Abfrage mehrere Zeilen für jede Site_ID zurück, da die Ergebnisse nicht aggregiert werden.
Um unterschiedliche Site-Anmeldungen korrekt zu zählen, müssen wir die Ergebnisse nach Site_ID gruppieren und dann die unterschiedlichen Benutzer-IDs innerhalb jeder Site zählen Gruppe. Dies wird durch die folgende modifizierte Abfrage erreicht:
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`
In dieser überarbeiteten Abfrage:
Durch die Anwendung dieser Änderungen sollten Sie jetzt genaue Zählungen eindeutiger Site-Anmeldungen für den vergangenen Tag aus Ihren cp_visits erhalten Tabelle.
Das obige ist der detaillierte Inhalt vonWie kann man eindeutige Site-Anmeldungen in MySQL innerhalb des letzten Tages genau zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!