2 mal group by, aber wie genau?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
roderiganuras

2 mal group by, aber wie genau?

Beitrag von roderiganuras »

Habe drei Spalten: >> Domain, Datum und IP
Hier werden Referer gespeichert.
Und ich möchte wissen, wie viele User das waren.
Nun ist das Problem, daß ein User ja auch Faken kann und dann 100 mal hintereinander in der Tabelle auftaucht.
Ich müßte also zwei mal GROUP BY verwenden.
Das erste mal eleminiert die doppelten Einträge, das 2. nutze ich zum Zählen.

aber ich weiß nicht genau wie, man könnte es auch mit php machen und die vorhandenen einträge in ein array einlesen, aber ich will es nur mit mysql machen, kann mir jemand sagen wie genau es geht?
vielen dank im vorraus
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Zweimal GROUP BY auf eine Tabelle geht nicht, da ja immer nur ein Ergebnis herauskommt und daher auch nur einmal zusammengefasst, also gruppiert werden kann.

Wie willst Du denn aber die User zählen?
Unabhängig der vorhandenen restlichen Daten?

Dann führe doch eine 2. Abfrage aus, die mit count(distinct user_id) die User-Daten zusammenzählt...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
roderiganuras

Beitrag von roderiganuras »

also geht es nicht in einer abfrage, ne
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Was willst du denn genau als Ergebnis haben? Die Gesamtanzahl Einträge, aber jede IP soll nur einmal gezählt werden? Dann ist das von oxpus vorgeschlagene COUNT(DISTINCT spalte) die Lösung. Ansonsten beschreib mal genauer, was du eigentlich willst.
KB:knigge
Antworten

Zurück zu „Coding & Technik“