Rumah >pangkalan data >tutorial mysql >Bagaimana Mengisih Keputusan MySQL dengan Nilai NULL Terakhir?
Cara Memesan Keputusan MySQL dengan Nilai Null Last
Apabila memesan hasil MySQL dengan lajur angka, nilai nol boleh menjadi masalah kerana ia dianggap sebagai sifar. Ini boleh membawa kepada susunan yang tidak dijangka, di mana nilai nol muncul sebelum nilai bukan nol.
Untuk menangani isu ini, MySQL menawarkan sintaks tidak berdokumen yang membolehkan anda mengisih nilai nol terakhir. Ini dicapai dengan meletakkan tanda tolak (-) sebelum nama lajur dan menukar ASC kepada DESC:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Sintaks ini pada asasnya menyongsangkan kedudukan susunan DESC, meletakkan nilai nol terakhir sambil mengekalkan susunan yang sama untuk nilai bukan nol.
Sebagai contoh, jika anda mempunyai perkara berikut data:
NULL, NULL, NULL, 1, 2, 3, 4
Menggunakan standard ORDER BY position ASC, id DESC statement akan menghasilkan:
NULL, NULL, NULL, 1, 2, 3, 4
Walau bagaimanapun, menggunakan -position DESC sintaks akan menghasilkan susunan yang diingini:
1, 2, 3, 4, NULL, NULL, NULL
Sintaks tidak berdokumen ini menyediakan cara yang mudah untuk memastikan nilai nol diisih terakhir dalam keputusan MySQL. Adalah penting untuk ambil perhatian bahawa ini bukan ciri SQL standard dan mungkin tidak disokong dalam semua sistem pangkalan data.
Atas ialah kandungan terperinci Bagaimana Mengisih Keputusan MySQL dengan Nilai NULL Terakhir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!