Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengisih Jadual PostgreSQL dengan Nilai NULL Pertama atau Terakhir?

Bagaimana untuk Mengisih Jadual PostgreSQL dengan Nilai NULL Pertama atau Terakhir?

Susan Sarandon
Lepaskan: 2025-01-23 02:43:09
asal
709 orang telah melayarinya

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

Isih jadual PostgreSQL: tetapan keutamaan nilai NULL

Apabila mengisih jadual PostgreSQL mengikut medan tarikh/masa dalam tertib menaik, anda mungkin menghadapi situasi di mana sesetengah rekod mempunyai nilai NULL dalam medan tersebut. Biasanya, rekod ini muncul selepas rekod bukan NULL. Walau bagaimanapun, anda mungkin mahu memaparkan rekod dengan nilai NULL dahulu.

Ungkapan ORDER BY PostgreSQL menyediakan pengubah suai NULLS FIRST untuk tujuan ini. Menggunakan pengubah suai ini anda boleh mengisih jadual seperti berikut:

... ORDER BY last_updated NULLS FIRST
Salin selepas log masuk

Ini akan memastikan bahawa last_updated rekod dengan nilai NULL ​​untuk medan muncul sebelum rekod dengan nilai bukan NULL.

Untuk pengisihan menurun, anda boleh menggunakan NULLS LAST pengubah suai:

... ORDER BY last_updated DESC NULLS LAST
Salin selepas log masuk

Untuk mencipta indeks yang menyokong pertanyaan ini, pastikan ia sepadan dengan susunan fasal ORDER BY:

CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);
Salin selepas log masuk

Sebagai alternatif, anda boleh mencipta indeks tanpa menyatakan pilihan NULLS LAST secara eksplisit, kerana PostgreSQL boleh membaca indeks btree secara terbalik:

CREATE INDEX foo_idx ON tbl (last_updated);
Salin selepas log masuk

Dalam sesetengah kes, kedudukan nilai NULL dalam indeks boleh menjejaskan prestasi pertanyaan. Lihat dokumentasi PostgreSQL untuk mendapatkan maklumat lanjut tentang ini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Jadual PostgreSQL dengan Nilai NULL Pertama atau Terakhir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan