Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyesuaikan Pesanan Isih dalam Klausa ORDER BY MySQL untuk Nilai Tertentu?
Apabila mengisih data dalam MySQL, klausa ORDER BY membolehkan anda menyesuaikan susunan isihan melebihi pilihan lalai menaik atau menurun. Satu cabaran biasa ialah mentakrifkan keutamaan pengisihan khusus untuk berbilang nilai dalam lajur.
Soalan:
Pertimbangkan jadual berikut:
ID | Language | Text |
---|---|---|
0 | ENU | a |
0 | JPN | b |
0 | DAN | c |
1 | ENU | d |
1 | JPN | e |
1 | DAN | f |
Bagaimanakah kita boleh mengisih jadual ini mengikut Bahasa (ENU pertama, JPN kedua, DAN terakhir) dan kemudian dengan menaik ID?
Jawapan:
MySQL menyediakan fungsi FIELD() yang membolehkan pesanan isihan tersuai. Ia mengambil nilai dan menyemak kedudukannya dalam senarai tertentu. Menggunakan fungsi ini, kita boleh mentakrifkan keutamaan pengisihan yang diingini seperti berikut:
ORDER BY FIELD(Language, 'ENU', 'JPN', 'DAN'), ID
Pertanyaan ini akan mengembalikan data dalam susunan berikut:
a, d, b, e, c, f, dll.
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Pesanan Isih dalam Klausa ORDER BY MySQL untuk Nilai Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!