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
Lepaskan: 2024-12-15 05:07:17
asal
445 orang telah melayarinya

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
Salin selepas log masuk

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 |
Salin selepas log masuk

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 |
Salin selepas log masuk

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 |
Salin selepas log masuk

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!

sumber:php.cn
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