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!