PostgreSQL-Datenbankeinträge werden nach Datum sortiert, Nullwerte zuerst
In PostgreSQL ist es oft notwendig, Abfrageergebnisse in aufsteigender Reihenfolge nach einem Datums-/Uhrzeitfeld (z. B. last_updated) zu sortieren und dabei sicherzustellen, dass Datensätze mit Nullwerten an erster Stelle stehen.
PostgreSQL stellt den Modifikator ORDER BY
für NULLS FIRST | LAST
-Ausdrücke bereit, um diesen Zweck zu erreichen. Standardmäßig wird NULLS FIRST
in absteigender Reihenfolge (DESC) verwendet, wodurch Nullwerte zuletzt sortiert werden. Um NULL-Werte zuerst in aufsteigender Reihenfolge (ASC) zu sortieren, können Sie die folgende Syntax verwenden:
<code class="language-sql">... ORDER BY last_updated NULLS FIRST</code>
Damit der Index diese Abfrage unterstützt, sollte der Index mit der Sortierreihenfolge übereinstimmen:
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);</code>
PostgreSQL kann invertierte Indizes effizient verarbeiten, sodass es wie folgt aussieht:
<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated);</code>
Bei einigen Abfrageplänen kann die Position von NULL-Werten jedoch die Leistung beeinträchtigen. Weitere Informationen zu diesem Thema finden Sie hier:
Das obige ist der detaillierte Inhalt vonWie ordne ich PostgreSQL-Datensätze nach Datum mit NULL-Werten zuerst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!