Mysql
 sql >> Datenbank >  >> RDS >> Mysql

DISTINCT eine Spalte in einer Datenbank

Dies sollte über eine Unterabfrage möglich sein. Die innere Abfrage ordnet alle Zeilen nach Datum, sodass die erste Instanz jedes Benutzernamens in diesem Ergebnis die gesuchte Zeile wäre.

Die äußere Abfrage gruppiert nach Benutzername und AFAIK, wenn Sie GROUP_CONCAT nicht verwenden Dies nimmt immer die erste Instanz jeder Zeile, die den Benutzernamen enthält.

SELECT username, wikitext, wikidate FROM
  (SELECT username, wiki.text AS wikitext, wiki.date AS wikidate
  FROM wiki_house
  INNER JOIN wiki ON wiki_house.wiki_id = wiki.id
  INNER JOIN users ON wiki.user_id = users.id
  AND wiki_house.house_id = 1
  AND wiki.language = 'it'
  ORDER BY wiki.date DESC)
GROUP BY username
LIMIT 10

Wenn das nicht funktioniert, sehen Sie sich die akzeptierte Antwort für dieses ähnliches an Frage die eine andere Lösung hat. Sie sollten es an Ihre Bedürfnisse anpassen können.