PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Doppelte Zeilen basierend auf Feld in einer ausgewählten Abfrage mit PostgreSQL entfernen?

Verwenden Sie DISTINCT ON :

SELECT DISTINCT ON (contenthash)
  id,
  contenthash,
  filesize,
  to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;

DISTINCT ON ist eine Postgres-Erweiterung, die sicherstellt, dass eine Zeile für jede eindeutige Kombination der Schlüssel in Klammern zurückgegeben wird. Die spezifische Zeile ist die erste, die basierend auf order by gefunden wird Klausel.