Ist mein Select so ok ?
am 12.05.2005 00:48:25 von schrulle
hallo, ich habe eine tabelle angelegt, wo die aufrufe eines artikels
gezählt werden sollen. dazu wird auch die IP des users gespeichert.
jetzt möchte ich mir anzeigen lassen, welcher artikel wie oft
aufgerufen wurde und dieses nach der häufigkeit sortieren.
Mein Select sieht also folgendermaßen aus:
SELECT objekt_ID, COUNT(DISTINCT IP) AS Anzahl FROM statistik GROUP BY
objekt_ID ORDER BY Anzahl desc
Ausgegeben wird das ganze in PHP dann über eine while schleife (while
($row =3D mysql_fetch_array ($Daten)): .....
Frage: Ist der Select so ok, oder könnte man es einfacher bzw.
sauberer machen?
Re: Ist mein Select so ok ?
am 12.05.2005 06:54:40 von Fabian Schladitz
schrulle@pac-team.de schrieb:
> hallo, ich habe eine tabelle angelegt, wo die aufrufe eines artikels
> gezählt werden sollen. dazu wird auch die IP des users gespeichert.
> jetzt möchte ich mir anzeigen lassen, welcher artikel wie oft
> aufgerufen wurde und dieses nach der häufigkeit sortieren.
>=20
> Mein Select sieht also folgendermaßen aus:
>=20
> SELECT objekt_ID, COUNT(DISTINCT IP) AS Anzahl FROM statistik GROUP BY
> objekt_ID ORDER BY Anzahl desc
>=20
> Ausgegeben wird das ganze in PHP dann über eine while schleife (while=
> ($row =3D mysql_fetch_array ($Daten)): .....
>=20
> Frage: Ist der Select so ok, oder könnte man es einfacher bzw.
> sauberer machen?
>=20
Das SELECT ist sicher richtig, nicht aber dein Ansatz. IPs werden=20
dynamisch vergeben. Ein DISTINCT IP bedeutet also, egal wieviele Nutzer=20
jemals eine bestimmte IP bekommen und egal, wie oft diese verschiedenen=20
Nutzer einen Beitrag betrachten - sie werden genau EIN Mal in deine=20
Statistik eingehen.
Das ist vermutlich nicht, was du wolltest.
Du willst die Aufrufe einfach nur die Anzahl Einträge in deiner=20
Statistik zählen. Lass die IP weg.
--=20
HTH,
Fabian
Re: Ist mein Select so ok ?
am 12.05.2005 09:42:43 von schrulle
hallo fabian,
danke erstmal für deine antwort.
aber wie schaffe ich es denn dann, das jemand, der sich einen artikel 5
mal anschaut auch nur einmal in meine statistik eingeht? wenn er 5
verschiedene IPs hat, soll er von mir aus 5 mal in die statistik
eingehen. oder sollte ich stattdessen eine session ID anlegen und diese
dann mit DISTINCT session_ID filtern?
Re: Ist mein Select so ok ?
am 12.05.2005 10:45:50 von Fabian Schladitz
schrulle@pac-team.de schrieb:
> danke erstmal für deine antwort.
> aber wie schaffe ich es denn dann, das jemand, der sich einen artikel 5=
> mal anschaut auch nur einmal in meine statistik eingeht? wenn er 5
> verschiedene IPs hat, soll er von mir aus 5 mal in die statistik
> eingehen. oder sollte ich stattdessen eine session ID anlegen und diese=
> dann mit DISTINCT session_ID filtern?
Der Ansatz ist schon viel besser.
Aber warum sollte er nicht fünf Mal gezählt werden? Wenn ein Beitrag =
sich ändert, schaue ich ihn noch Mal an - dann habe ich einen View mehr=
Wenn du wissen willst, wer die Beiträge gelesen hat, dann speicherst du=
=20
natürlich die Nutzer_ID.
--=20
HTH,
Fabian
Re: Ist mein Select so ok ?
am 12.05.2005 19:38:55 von schrulle
ach so, nein ich meinte mit artikel ein produkt. keinen text. ich
möchte wissen, welcher artikel wie oft angeschaut wird.
aber jetzt habe ich noch einen heftigen select :-)
zu meinem oben genannten select möchte ich jetzt noch anzeigen lassen,
wie oft ein bestimmter artikel in den vergangenen monaten angeschaut
wurde. dazu habe ich in meiner tabelle noch den monat und das jahr
abgespeichert.
aber seit gestern abend doktor ich an diesem select rum und bekomme es
aber nicht hin.=20
hast du eine idee?
Re: Ist mein Select so ok ?
am 13.05.2005 07:02:45 von Fabian Schladitz
schrulle@pac-team.de schrieb:
> zu meinem oben genannten select möchte ich jetzt noch anzeigen lassen=
,
> wie oft ein bestimmter artikel in den vergangenen monaten angeschaut
> wurde. dazu habe ich in meiner tabelle noch den monat und das jahr
> abgespeichert.
> aber seit gestern abend doktor ich an diesem select rum und bekomme es
> aber nicht hin.=20
> hast du eine idee?
Viele. ;)
Poste bitte die Struktur der Tabelle, sonst kann ich nur raten. Und=20
schreib dazu, welche Ausgabe du erwartest.
Und: http://learn.to/quote
--=20
HTH,
Fabian