I PostgreSQL, för att få unika rader för en definierad uppsättning kolumner , den föredragna tekniken är i allmänhet DISTINCT ON
:
SELECT DISTINCT ON ("ID") *
FROM "Course"
ORDER BY "ID", "Course Date" DESC NULLS LAST, "Course Name";
Du får exakt en rad enligt ID
på detta sätt - den med den senaste kända "Kursdatum"
och den första
Du kan släppa NULLS SISTA
om din kolumn är definierad NOT NULL
.
För att få unika rader per ("ID", "Kursnamn")
:
SELECT DISTINCT ON ("ID", "Course Name") *
FROM "Course"
ORDER BY "ID", "Course Name", "Course Date" DESC NULLS LAST;
Detaljer i detta relaterade svar: