SELECT-Abfrage für Besucher-Analyse

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SELECT-Abfrage für Besucher-Analyse

    Hi zusammen,

    ich mach gerade ne kleine Besucher-Analyse für ne Homepage.

    Tabelle sieht wie folgt aus:

    ID, Datum des Besuchs, IP-Adresse, Hostname


    Ich mach momentan folgenden SELECT auf diese Tabelle:

    PHP-Code:
    mysql_query("SELECT * FROM tabelle GROUP BY besucher_ip"); 
    Er gibt mir also eine Liste zurück, welche jede IP nur einmal auflistet (GROUP BY). Dabei nimmt er jeweils den ersten Eintrg den erzu der IP findet, somit hätte ich auch das Datum des ersten Besuchs.

    Nun hätte ich noch gerne das Datum des letzten Besuchs und die Anzahl der Besuche einer IP.

    Wie macht man das am Besten?

  • #2
    Mit MIN, MAX und COUNT?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Das ist schon klar.

      Aber wie mach ich das nun genau?

      Zum Beispiel Count. Ich will das ja von ALLEN ips wissen.

      Wenn ich jetzt COUNT(255.255.255.255) mach, dann gibt er mir z.B. 5 zurück. Soll ich jetzt ne While-Schleife machen mit php und dann jede IP nochmals mittels COUNT aus der Datenbank abfragen oder kann man das auch anders über die Datenbank selbst lösen?


      Also die eigentliche Frage ist, kann man sowas elegant über die Datenbank lösen oder muss ich das mit unzähligen einzel-Abfragen mit PHP machen?

      Kommentar


      • #4
        COUNT(spaltenname)

        So wie's in der Doku steht...
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Also ich glaube wir reden aneinander vorbei.

          Ich wollte wissen, ob sich das COUNT oder MIN, MAX auch auf GROUP BY bezieht.

          SELECT artikel, MAX(preis) AS preis
          FROM shop
          GROUP BY artikel

          +---------+-------+
          | artikel | preis |
          +---------+-------+
          | 0001 | 3.99 |
          | 0002 | 10.99 |
          | 0003 | 1.69 |
          | 0004 | 19.95 |


          Anscheind ja...


          Also wenn ich ...

          SELECT besucher_id, besucher_date, besucher_ip, besucher_host, COUNT(besucher_ip) AS besucher_anz, MAX(besucher_date) AS besucher_date_max
          FROM tabelle
          GROUP BY besucher_ip

          ... mach, dann macht er mir nur den COUNT und MAX von dem jeweiligen GROUP BY?


          Bsp.:


          01 1111111111 123.123.123.123 t-online.proxy.wieauchimmer1
          02 1111111121 123.123.123.123 t-online.proxy.wieauchimmer1
          03 1111111131 123.123.123.123 t-online.proxy.wieauchimmer1
          04 1111111141 123.123.123.123 t-online.proxy.wieauchimmer1
          05 1111111151 123.123.123.123 t-online.proxy.wieauchimmer1
          06 1111111161 123.123.123.123 t-online.proxy.wieauchimmer1
          07 1111193211 123.123.123.100 t-online.proxy.wieauchimmer2
          08 1111121231 123.123.123.100 t-online.proxy.wieauchimmer2
          09 1111221121 123.123.123.100 t-online.proxy.wieauchimmer2
          10 1111223231 123.123.123.100 t-online.proxy.wieauchimmer2


          Dann hätte ich folgendes Ergebnis

          01 1111111111 123.123.123.123 t-online.proxy.wieauchimmer1 6 1111111161
          07 1111193211 123.123.123.100 t-online.proxy.wieauchimmer2 4 1111223231

          Kommentar


          • #6
            Entweder ausprobieren oder Doku lesen.
            Sollte beides schneller gehen, als hier zu fragen, meinst du nicht?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar

            Lädt...
            X