SQL Abfrage Zeigt einträge Mehrfach an?

Shorty1968

Erfahrenes Mitglied
Hallo ich habe mir Folgender Abfrage ein Problem.
SQL:
 if (WCF::getUser()->userID > 0 && WHOREADTHISTHREAD_ACTIVE) {
  $sql = "SELECT * FROM wbb".WCF_N."_who_read
  WHERE threadID = '".$this->threadID."'
      ORDER BY ".WHOREADTHISTHREAD_ORDER."";
     $statement = WCF::getDB()->prepareStatement($sql);
  $statement->execute(array());
     while ($row = $statement->fetchArray()) {
       $this->whoReadUsers[] = $row;
     }
Ich weiss nicht wie ich diesen teil ORDER BY ".WHOREADTHISTHREAD_ORDER.""; ändern muss das beim Updaten die Ausgabe nur einmal mit der Aktuellen Zeit erscheint?

Wie es im moment aussieht könnt ihr im Screen im Anhang sehen.
 

Anhänge

  • wrt.png
    wrt.png
    3,4 KB · Aufrufe: 13

Spyke

Premium-User
Ich kenne die DB hinter wbb nicht aber ich denke mir mit ORDER BY bist du hier auch falsch.
Müsstest du nicht eher mit GROUP BY und der Aggregate Funktion Min arbeiten?

Ungefähr so:
Code:
SELECT userid, Min(readTime) FROM myTable WHERE threadID = '".$this->threadID."' GROUP BY userid