In PostgreSQL, um eindeutige Zeilen für einen definierten Satz von Spalten zu erhalten , ist die bevorzugte Technik im Allgemeinen DISTINCT ON
:
SELECT DISTINCT ON ("ID") *
FROM "Course"
ORDER BY "ID", "Course Date" DESC NULLS LAST, "Course Name";
Sie erhalten genau eine Zeile pro ID
auf diese Weise - die mit dem letzten bekannten "Course Date"
und der erste "Course Name"
(nach Sortierreihenfolge) bei Gleichstand am Datum.
Sie können NULLS LAST
löschen wenn Ihre Spalte definiert ist NOT NULL
.
Um eindeutige Zeilen pro ("ID", "Course Name")
zu erhalten :
SELECT DISTINCT ON ("ID", "Course Name") *
FROM "Course"
ORDER BY "ID", "Course Name", "Course Date" DESC NULLS LAST;
Details in dieser verwandten Antwort: