V PostgreSQL získáte jedinečné řádky pro definovanou sadu sloupců , preferovaná technika je obecně DISTINCT ON
:
SELECT DISTINCT ON ("ID") *
FROM "Course"
ORDER BY "ID", "Course Date" DESC NULLS LAST, "Course Name";
Získáte přesně jeden řádek podle ID tímto způsobem - ten s nejnovějším známým "Course Date" a první "Course Name" (dle pořadí řazení) v případě remíz na datum.
Můžete vypustit NULLS LAST pokud je váš sloupec definován NOT NULL .
Chcete-li získat jedinečné řádky na ("ID", "Course Name") :
SELECT DISTINCT ON ("ID", "Course Name") *
FROM "Course"
ORDER BY "ID", "Course Name", "Course Date" DESC NULLS LAST;
Podrobnosti v této související odpovědi: