Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengumpul Data dalam MySQL Menggunakan Pernyataan CASE?
Memadatkan Data dengan Pernyataan Kes dalam MySQL
Apabila bekerja dengan data yang disimpan dalam pangkalan data hubungan, ia boleh berguna untuk memanipulasi kandungan lajur berdasarkan kriteria tertentu. Di sinilah penyataan CASE berperanan, menyediakan cara untuk menetapkan nilai secara dinamik kepada lajur berdasarkan ungkapan bersyarat, membolehkan anda menstruktur semula data anda untuk analisis dan pelaporan yang dipertingkatkan.
Contoh: Menjana Lajur Bersyarat
Andaikan anda mempunyai jadual pangkalan data yang dipanggil 'tbl_transaction' dengan lajur untuk id, jenis_tindakan, tajuk_tindakan dan jumlah_tindakan. Untuk menjana dua lajur baharu, Amt Pendapatan dan Amt Perbelanjaan, kami boleh memanfaatkan penyata CASE untuk mengisinya secara bersyarat berdasarkan lajur action_type:
SELECT id, action_heading, CASE WHEN action_type = 'Income' THEN action_amount ELSE NULL END AS income_amt, CASE WHEN action_type = 'Expense' THEN action_amount ELSE NULL END AS expense_amt FROM tbl_transaction;
Pertanyaan ini akan menghasilkan output yang serupa dengan:
ID | Heading | Income Amt | Expense Amt |
---|---|---|---|
1 | ABC | 1000 | NULL |
2 | XYZ | NULL | 2000 |
Seperti yang anda lihat, lajur Amt Pendapatan diisi dengan nilai untuk transaksi Pendapatan, manakala lajur Amt Perbelanjaan ialah diisi dengan nilai untuk transaksi Perbelanjaan.
Sintaks Alternatif
MySQL juga menyediakan fungsi IF() sebagai alternatif kepada penyata CASE untuk mengendalikan operasi bersyarat. Walau bagaimanapun, pernyataan CASE adalah lebih baik dalam kes ini kerana ia lebih serba boleh dan mudah alih merentas pelbagai enjin pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul Data dalam MySQL Menggunakan Pernyataan CASE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!