# SQL Abfrage Zeigt einträge Mehrfach an?



## Shorty1968 (15. Februar 2015)

Hallo ich habe mir Folgender Abfrage ein Problem.

```
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.


----------



## Spyke (16. Februar 2015)

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:

```
SELECT userid, Min(readTime) FROM myTable WHERE threadID = '".$this->threadID."' GROUP BY userid
```


----------

