Cara Mengisih Nilai nol Selepas Semua Lain, dengan Kes Khas
Masalah:
Apabila mengisih jadual PostgreSQL dengan medan pengisihan pilihan (isih), bagaimana anda boleh memastikan bahawa:
Penyelesaian:
Gunakan SQL berikut pernyataan:
SELECT * FROM tasks ORDER BY (sort IS NOT DISTINCT FROM -1), sort;
Penjelasan:
Ungkapan (isihan TIDAK BERBEZA DARI -1) menilai kepada:
Contoh:
Pertimbangkan data sampel berikut:
id | f_id | name | sort ---+------+----------+------- 1 | 1 | zeta | -1 2 | 1 | alpha | 1 3 | 1 | gamma | 3 4 | 1 | beta | 2 5 | 1 | delta | 6 | 1 | epsilon |
Pertanyaan akan menghasilkan hasil disusun berikut:
id | f_id | name | sort ---+------+----------+------- 2 | 1 | alpha | 1 4 | 1 | beta | 2 3 | 1 | gamma | 3 5 | 1 | delta | 6 | 1 | epsilon | 1 | 1 | zeta | -1
Atas ialah kandungan terperinci Bagaimana Mengisih Nulls Last dan Nilai Tertentu Kedua ke Last dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!