Dalam jadual PostgreSQL dengan medan isihan pilihan, matlamatnya ialah untuk mengisih nilai seperti berikut:
Untuk mencapai gelagat pengisihan ini, satu pendekatan ialah menggunakan yang berikut URUSAN MENGIKUT klausa:
ORDER BY (sort IS NOT DISTINCT FROM -1), sort
Klausa ini beroperasi seperti berikut:
Pertimbangkan sampel yang disediakan data:
id | f_id | name | sort |
---|---|---|---|
1 | 1 | zeta | -1 |
2 | 1 | alpha | 1 |
3 | 1 | gamma | 3 |
4 | 1 | beta | 2 |
5 | 1 | delta | NULL |
6 | 1 | epsilon | NULL |
Menggunakan klausa yang disediakan, item akan diisih seperti berikut:
alpha, beta, gamma, delta, epsilon, zeta
Alternatif yang setara dengan klausa awal ialah:
ORDER BY (sort IS DISTINCT FROM -1) DESC, sort
Klausa ini menghasilkan gelagat pengisihan yang sama tetapi menggunakan kata kunci DESC untuk mengisih (isih BERBEZA DARI -1) ungkapan dalam tertib menurun.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Nilai Bukan Null Menaik, kemudian Nulls, dengan -1 Nilai Terakhir dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!