Rumah >pangkalan data >tutorial mysql >Bagaimana Memesan Data Mengikut Lajur Berbeza Berdasarkan Keadaan dalam MySQL?

Bagaimana Memesan Data Mengikut Lajur Berbeza Berdasarkan Keadaan dalam MySQL?

DDD
DDDasal
2024-11-16 02:09:02448semak imbas

How to Order Data By Different Columns Based on a Condition in MySQL?

Cara Memesan Mengikut Lajur Berbeza Berdasarkan Syarat

Dalam MySQL, adalah mungkin untuk memesan data mengikut lajur berbeza berdasarkan syarat menggunakan fungsi SQL atau pernyataan CASE.

Menggunakan Fungsi IF:

Untuk menggunakan fungsi IF dalam klausa ORDER BY, anda boleh menentukan dua ungkapan yang dipisahkan oleh koma. Ungkapan pertama ialah syarat yang menentukan ungkapan yang hendak digunakan. Ungkapan kedua ialah nilai untuk digunakan jika keadaan adalah benar.

Contohnya:

ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC

Pernyataan ini akan menyusun data mengikut lajur LNAME jika lajur TYPE adalah sama dengan ' Ahli', dan mengikut lajur GROUPNAME jika lajur TYPE adalah sama dengan 'Kumpulan'.

Menggunakan Penyata KES:

Pernyataan KES ialah pilihan yang lebih fleksibel untuk memesan data mengikut lajur berbeza berdasarkan syarat. Ia membolehkan anda menentukan berbilang syarat dan ungkapan yang sepadan.

Contohnya:

ORDER BY 
    CASE `type` 
        WHEN 'Member' THEN LNAME 
        WHEN 'Group' THEN GROUPNAME
        ELSE 1 END 
    ASC

Dalam pernyataan ini, data akan disusun mengikut lajur LNAME jika lajur jenis adalah sama dengan ' Ahli', mengikut lajur GROUPNAME jika lajur jenis adalah sama dengan 'Kumpulan' dan dengan nilai 1 sebaliknya.

Atas ialah kandungan terperinci Bagaimana Memesan Data Mengikut Lajur Berbeza Berdasarkan Keadaan 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