Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjadikan Nilai NULL Terlihat Terakhir Apabila Memesan Data dalam MySQL?

Bagaimanakah Saya Boleh Menjadikan Nilai NULL Terlihat Terakhir Apabila Memesan Data dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-15 05:07:17447semak imbas

How Can I Make NULL Values Appear Last When Ordering Data in MySQL?

Memelihara Nilai Null dalam Pesanan MySQL

Dalam MySQL, memesan data dengan nilai nol boleh memberikan cabaran, kerana null dianggap sebagai 0 oleh lalai. Ini boleh membawa kepada tingkah laku pengisihan yang tidak diingini di mana nilai nol muncul sebelum nilai bukan nol. Untuk menangani isu ini, kami boleh menggunakan sintaks yang kurang dikenali untuk memaksa nilai nol muncul terakhir dalam hasil yang diisih.

Menterbalikkan Isih Nol

MySQL menawarkan tidak berdokumen sintaks yang membolehkan untuk membalikkan susunan pengisihan nilai nol. Dengan memberi awalan pada nama lajur dengan tanda tolak (-) dan menukar ASC kepada DESC, kami boleh mengarahkan MySQL untuk menganggap null sebagai nilai tertinggi dalam susunan isihan.

Sebagai contoh, pertimbangkan klausa ORDER BY berikut. :

ORDER BY -position DESC, id DESC

Klausa ini akan mengisih lajur kedudukan dalam tertib menurun, dengan nilai nol muncul terakhir. Lajur id masih akan diisih dalam tertib menurun.

Contoh

Andaikan kita mempunyai jadual dengan data berikut:

| position | id |
|---|---|
| null | 10 |
| null | 11 |
| null | 12 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |

Menggunakan klausa ORDER BY tradisional (kedudukan ASC, id DESC), hasilnya akan disusun sebagai berikut:

| position | id |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| null | 12 |
| null | 11 |
| null | 10 |

Walau bagaimanapun, dengan menggunakan sintaks pengisihan nol terbalik (-posisi DESC, id DESC), kita boleh mencapai susunan yang dikehendaki di mana nilai nol muncul terakhir:

| position | id |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| null | 10 |
| null | 11 |
| null | 12 |

Nota:

Teknik ini tidak berdokumen dan mungkin tidak disokong dalam semua versi MySQL. Rujuk dokumentasi MySQL untuk versi khusus anda untuk memastikan keserasian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjadikan Nilai NULL Terlihat Terakhir Apabila Memesan Data dalam MySQL?. 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