Di PostgreSQL, untuk mendapatkan baris unik untuk kumpulan kolom yang ditentukan , teknik yang lebih disukai umumnya DISTINCT ON
:
SELECT DISTINCT ON ("ID") *
FROM "Course"
ORDER BY "ID", "Course Date" DESC NULLS LAST, "Course Name";
Anda mendapatkan tepat satu baris per ID
dengan cara ini - yang memiliki "Course Date"
terbaru yang diketahui dan "Course Name"
pertama (sesuai urutan sortir) jika ada ikatan pada tanggal.
Anda dapat menghapus NULLS LAST
jika kolom Anda didefinisikan NOT NULL
.
Untuk mendapatkan baris unik per ("ID", "Course Name")
:
SELECT DISTINCT ON ("ID", "Course Name") *
FROM "Course"
ORDER BY "ID", "Course Name", "Course Date" DESC NULLS LAST;
Detail dalam jawaban terkait ini: