Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Pivot Data dalam MySQL Menggunakan Pernyataan `CASE` atau `IF`?

Bagaimana untuk Pivot Data dalam MySQL Menggunakan Pernyataan `CASE` atau `IF`?

Linda Hamilton
Linda Hamiltonasal
2024-11-09 10:05:02207semak imbas

How to Pivot Data in MySQL Using `CASE` or `IF` Statements?

Memaparkan Data dalam Format Pangsi dengan GROUP BY

Tugas di tangan melibatkan mengubah jadual pangkalan data hubungan dengan baris yang mewakili titik data individu menjadi format pangsi di mana data disusun ke dalam lajur berdasarkan cap masa dan nilai dikumpulkan mengikut tertentu pengecam.

Untuk mencapai struktur pangsi ini, kita boleh menggunakan pernyataan CASE dalam MySQL. Pernyataan ini membenarkan kami menetapkan nilai secara bersyarat berdasarkan syarat yang berbeza:

Dalam pertanyaan ini, kami menggunakan fungsi SUM untuk mengagregatkan data_value bagi setiap cap_masa yang berbeza. Penyata CASE menyemak sama ada data_id sepadan dengan nilai tertentu (mis., 1, 2, atau 20). Jika ia sepadan, nilai_data yang sepadan disertakan dalam penjumlahan untuk lajur masing-masing (cth., input_1, input_2, input_20). Jika tiada padanan ditemui, sifar digunakan dalam pengiraan. Ini menghasilkan jadual yang data_timestamp ialah pengecam baris dan setiap data_id mempunyai lajur khusus yang memaparkan nilai data_agregat sepadannya.

Kami juga boleh menggunakan pernyataan IF dan bukannya CASE untuk tujuan yang sama:

Kedua-dua pendekatan CASE dan IF membolehkan kami menjana lajur yang diperlukan secara dinamik dan mengagregatkan nilai berdasarkan data_id dan data_timestamp, akhirnya mempersembahkan data dalam format pangsi yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Pivot Data dalam MySQL Menggunakan Pernyataan `CASE` atau `IF`?. 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