sql >> Databasteknik >  >> RDS >> PostgreSQL

Välj poster baserat på senaste datum

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 "Kursnamn" (enligt sorteringsordning) vid oavgjort på datumet.

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:



  1. Databastabellnamn med Django

  2. Hur visar jag de senaste frågorna som kördes på MySQL?

  3. Hur man ställer in schemakollation i MySQL för japanska

  4. mysql uppdatering ökar int-fältet som är null