Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die maximale Datums-ID für jede Kategorie in PostgreSQL ab?

Wie rufe ich die maximale Datums-ID für jede Kategorie in PostgreSQL ab?

Linda Hamilton
Freigeben: 2025-01-03 01:58:38
Original
418 Leute haben es durchsucht

How to Retrieve the Maximum Date ID for Each Category in PostgreSQL?

Abrufen der maximalen Datums-ID gruppiert nach Kategorie in PostgreSQL

Bei Datenbankoperationen ist es oft notwendig, Datensätze basierend auf bestimmten Kriterien abzurufen. Eine dieser Aufgaben besteht darin, IDs mit dem maximalen Datum für jede Kategorie in einem bestimmten Datensatz auszuwählen. Dies kann in PostgreSQL mithilfe der DISTINCT ON-Klausel effektiv erreicht werden.

Berücksichtigen Sie die folgenden Beispieldaten:

id  category  date
1   a         2013-01-01
2   b         2013-01-03
3   c         2013-01-02
4   a         2013-01-02
5   b         2013-01-02
6   c         2013-01-03
7   a         2013-01-03
8   b         2013-01-01
9   c         2013-01-01
Nach dem Login kopieren

Um die IDs mit dem maximalen Datum für jede auszuwählen Kategorie können Sie Folgendes verwenden Abfrage:

SELECT DISTINCT ON (category)
       id  -- , category, date  -- any other column (expression) from the same row
FROM   tbl
ORDER  BY category, date DESC;
Nach dem Login kopieren

Erläuterung:

  • DISTINCT ON (Kategorie): Diese Klausel stellt sicher, dass doppelte Kategorien eliminiert werden, was ermöglicht uns, die erste eindeutige Kategorie auszuwählen, die die Sortierkriterien erfüllt.
  • Datum DESC:Diese absteigende Sortierreihenfolge stellt sicher, dass der Datensatz mit dem maximalen Datum für jede Kategorie zuerst abgerufen wird.

Das Ergebnis dieser Abfrage ist:

7
2
6
Nach dem Login kopieren

Beachten Sie, dass DISTINCT ON besonders nützlich ist, wenn mehrere Datensätze mit demselben maximalen Datum vorhanden sind. In solchen Fällen bietet es eine Möglichkeit, den ersten eindeutigen Datensatz für jede Kategorie auszuwählen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die maximale Datums-ID für jede Kategorie in PostgreSQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage