PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wybierz rekordy na podstawie ostatniej daty

W PostgreSQL, aby uzyskać unikalne wiersze dla określonego zestawu kolumn , preferowaną techniką jest zazwyczaj DISTINCT ON :

SELECT DISTINCT ON ("ID") *
FROM   "Course"
ORDER  BY "ID", "Course Date" DESC NULLS LAST, "Course Name";

Otrzymujesz dokładnie jeden wiersz na ID w ten sposób - ten z najnowszą znaną "Course Date" i pierwszy "Course Name" (według kolejności sortowania) w przypadku remisów w dniu.

Możesz upuścić NULLS LAST jeśli twoja kolumna jest zdefiniowana NOT NULL .

Aby uzyskać unikalne wiersze na ("ID", "Course Name") :

SELECT DISTINCT ON ("ID", "Course Name") *
FROM   "Course"
ORDER  BY "ID", "Course Name", "Course Date" DESC NULLS LAST;

Szczegóły w tej powiązanej odpowiedzi:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatyczne zatwierdzanie w Flask-SQLAlchemy

  2. Zainstaluj i połącz się z PostgreSQL 10 na Ubuntu 16.04

  3. Relacja przekazana do #lub musi być strukturalnie zgodna. Niezgodne wartości:[:referencje]

  4. Czy PostgreSQL przeprowadza optymalizację wydajności dla transakcji tylko do odczytu?

  5. Zapytanie postgres jsonb według wartości niezależnie od kluczy