Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memesan dengan Nombor dan Meletakkan NULL Terakhir dalam MySQL?
MySQL: Memesan dengan Nombor dan Nulls Last
Dalam pertanyaan SQL, memesan data mengikut medan angka boleh menjadi mudah. Walau bagaimanapun, mengurus nilai nol dalam senario sedemikian memerlukan pertimbangan yang teliti. Dalam MySQL, secara lalai, nilai nol dianggap sebagai 0 apabila membuat pesanan dengan ASC atau DESC, yang boleh membawa kepada hasil yang tidak diingini.
Untuk menangani isu ini, MySQL menawarkan sintaks yang tidak konvensional untuk mengutamakan nilai nol terakhir dalam pesanan klausa. Dengan meletakkan tanda tolak (-) sebelum nama lajur dan menyongsangkan tertib (ASC kepada DESC atau sebaliknya), anda boleh membalikkan gelagat pengisihan dengan berkesan untuk nol.
Sebagai contoh, jika anda ingin mengisih a lajur bernama 'kedudukan' dalam tertib menaik (kecuali untuk nilai nol) dan kemudian memutuskan hubungan dengan 'id' dalam tertib menurun, anda akan menggunakan yang berikut sintaks:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Penyusunan ini akan menghasilkan urutan berikut:
1, 2, 3, 4, NULL, NULL, NULL
Pada asasnya, sintaks ini menyongsangkan pengisihan untuk lajur 'kedudukan', meletakkan nilai nol pada masa yang lama sambil mengekalkan susunan yang diingini untuk nilai bukan nol.
Ingat bahawa sintaks ini ialah tidak berdokumen dan mungkin tidak disokong dalam semua versi MySQL. Selain itu, sentiasa menjadi amalan yang baik untuk menyemak dokumentasi dengan teliti sebelum melaksanakan sebarang teknik pengisihan lanjutan dalam pertanyaan anda.
Atas ialah kandungan terperinci Bagaimana untuk Memesan dengan Nombor dan Meletakkan NULL Terakhir dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!