Heim > Datenbank > MySQL-Tutorial > Wie sortiere ich PostgreSQL-Tabellen mit NULL-Werten zuerst oder zuletzt?

Wie sortiere ich PostgreSQL-Tabellen mit NULL-Werten zuerst oder zuletzt?

Susan Sarandon
Freigeben: 2025-01-23 02:43:09
Original
644 Leute haben es durchsucht

How to Sort PostgreSQL Tables with NULL Values First or Last?

PostgreSQL-Tabellensortierung: NULL-Wert-Prioritätseinstellung

Beim Sortieren einer PostgreSQL-Tabelle nach einem Datums-/Uhrzeitfeld in aufsteigender Reihenfolge kann es vorkommen, dass einige Datensätze NULL-Werte in diesem Feld haben. Normalerweise erscheinen diese Datensätze nach Nicht-NULL-Datensätzen. Möglicherweise möchten Sie jedoch zuerst Datensätze mit NULL-Werten anzeigen.

Der ORDER BY-Ausdruck von PostgreSQL stellt den NULLS FIRST-Modifikator für diesen Zweck bereit. Mit diesem Modifikator können Sie die Tabelle wie folgt sortieren:

<code class="language-sql">... ORDER BY last_updated NULLS FIRST</code>
Nach dem Login kopieren

Dadurch wird sichergestellt, dass last_updated Datensätze mit NULL-Werten für Felder vor Datensätzen mit Nicht-NULL-Werten angezeigt werden.

Für die absteigende Sortierung können Sie den Modifikator NULLS LAST verwenden:

<code class="language-sql">... ORDER BY last_updated DESC NULLS LAST</code>
Nach dem Login kopieren

Um einen Index zu erstellen, der diese Abfrage unterstützt, stellen Sie sicher, dass er mit der Reihenfolge der ORDER BY-Klauseln übereinstimmt:

<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);</code>
Nach dem Login kopieren

Alternativ können Sie einen Index erstellen, ohne die Option NULLS LAST explizit anzugeben, da PostgreSQL Btree-Indizes umgekehrt lesen kann:

<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated);</code>
Nach dem Login kopieren

In einigen Fällen kann die Position von NULL-Werten im Index die Abfrageleistung beeinträchtigen. Weitere Informationen hierzu finden Sie in der PostgreSQL-Dokumentation.

Das obige ist der detaillierte Inhalt vonWie sortiere ich PostgreSQL-Tabellen mit NULL-Werten zuerst oder zuletzt?. 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