SQL Abfrage

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

  • SQL Abfrage

    Hallo,
    ich habe eine Tabelle, in der ich die Besucher einer Seite speicher.
    Die sieht so aus.
    PHP-Code:
    CREATE TABLE `statistik` (
      `
    idint(11NOT NULL auto_increment,
      `
    seitevarchar(255NOT NULL default '',
      `
    zeitvarchar(255NOT NULL default '',
      `
    cookievarchar(255NOT NULL default '',
      `
    besucher_zum_xvarchar(255NOT NULL default '',
      `
    breitvarchar(255NOT NULL default '',
      `
    hochvarchar(255NOT NULL default '',
      `
    kam_vonvarchar(255NOT NULL default '',
      `
    portvarchar(255NOT NULL default '',
      `
    sprachevarchar(255NOT NULL default '',
      `
    browservarchar(255NOT NULL default '',
      `
    get_hostvarchar(255NOT NULL default '',
      `
    sessionvarchar(255NOT NULL default '',
      `
    ipvarchar(255NOT NULL default '',
      
    PRIMARY KEY  (`id`)
    TYPE=MyISAM AUTO_INCREMENT=1031 
    Und ich möchte nun die letzten 10 besucher raussuchen.
    Da jeder Seitenaufruf gespeichert würd, muß ich die Session unterscheiden, damit nicht die letzten Seitenaufrufe angezeigt werden, sondern die letzten 10 Besucher. Und da ist gerade mein Problem.
    Die letzten 10 Seitenaufrufe würde so aussehen.
    PHP-Code:
    $sql "
      SELECT 
          zeit   
      FROM 
          "
    .STATISTIK.
      WHERE
          session != '"
    .session_id()."'
      ORDER BY 
          zeit 
      DESC  
      LIMIT 10;"

    Wie kann ich es erreichen, das er die session auch unterscheidet?
    Gut geraten ist halb gewußt.

  • #2
    ähm ... willst du jetzt die Besucher oder die Zeit

    Kommentar


    • #3
      Die Zeit habe ich ja.
      Ich wollte die letzten 10 Besucher.

      Momentan sieht das bei mir so aus:

      Datum Uhrzeit
      17.12.05 22:40
      17.12.05 22:37
      17.12.05 22:37
      17.12.05 22:37
      17.12.05 22:37
      17.12.05 22:17
      17.12.05 22:17
      17.12.05 22:17
      17.12.05 22:17
      17.12.05 22:17

      Ich könnte ja alle Einträge aus der DB auslesen und in einem array die doppelten session entfernen. Aber die DB Abfrage würde doch zu groß werden bzw wäre das ja nicht effektiv.

      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        probiere:

        select distinct besucher_zum_x from statistik order by cast (zeit as datetime) desc limit 10

        btw. was soll denn der Unfug, Datum und Zeit in einer varchar(255) abzulegen?

        Kommentar


        • #5
          Juhu ... Danke!
          DISTINCT ist das was ich gesucht habe.

          (Und das mit varchar(255) kommt daher, weil ich es vor längerer Zeit gemacht hatte und jetzt hatte ich den schnipsel einfach von früher bei mir eingefügt.)
          Gut geraten ist halb gewußt.

          Kommentar

          Lädt...
          X