Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memesan Rekod PostgreSQL mengikut Tarikh dengan Nilai NULL Pertama?

Bagaimana untuk Memesan Rekod PostgreSQL mengikut Tarikh dengan Nilai NULL Pertama?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-23 02:45:10318semak imbas

How to Order PostgreSQL Records by Date with NULL Values First?

Rekod pangkalan data PostgreSQL diisih mengikut tarikh, nilai nol dahulu

Dalam PostgreSQL, selalunya perlu mengisih hasil pertanyaan dalam tertib menaik mengikut medan tarikh/masa (cth. last_updated) sambil memastikan rekod nilai nol diutamakan.

PostgreSQL menyediakan ORDER BY pengubah suai untuk NULLS FIRST | LAST ungkapan untuk mencapai tujuan ini. Secara lalai, NULLS FIRST digunakan dalam tertib menurun (DESC), menyebabkan nilai nol diisih terakhir. Untuk mengisih nilai NULL dahulu dalam tertib menaik (ASC), anda boleh menggunakan sintaks berikut:

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

Untuk membolehkan indeks menyokong pertanyaan ini, indeks harus sepadan dengan susunan isihan:

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

PostgreSQL boleh mengendalikan indeks terbalik dengan cekap, menjadikannya kelihatan seperti berikut:

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

Walau bagaimanapun, untuk beberapa rancangan pertanyaan, kedudukan nilai NULL boleh menjejaskan prestasi. Untuk mendapatkan maklumat lanjut tentang topik ini, sila lihat yang berikut:

Atas ialah kandungan terperinci Bagaimana untuk Memesan Rekod PostgreSQL mengikut Tarikh dengan Nilai NULL Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn