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
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;
Erläuterung:
Das Ergebnis dieser Abfrage ist:
7 2 6
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!