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
Lepaskan: 2024-11-16 02:09:02
asal
479 orang telah melayarinya

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

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

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 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan