Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengubah Data Lajur MySQL menjadi Jadual Pangsi Berasaskan Baris?
Tukar data lajur MySQL kepada format baris (jadual pangsi)
Artikel ini menerangkan cara menukar jadual MySQL yang mengandungi data berbilang lajur kepada data format baris dan lajur. Struktur yang terhasil dipanggil jadual pangsi, dan ia memberikan pandangan data yang ringkas namun komprehensif.
Pernyataan masalah:
Kami mempunyai jadual dengan berbilang lajur, setiap lajur mewakili kategori data, matlamat kami adalah untuk menukarnya kepada format jadual pangsi, di mana baris mewakili kategori (col1, col2, col3, col4) dan lajur mewakili bulan ( Jan , Feb).
Rangka Kerja Penyelesaian:
Untuk melaksanakan penukaran ini dalam MySQL kita mesti mengikuti proses dua langkah berikut:
Anti-Perspektif (UNION ALL):
Perspektif (pengagregatan dan KES):
Pertanyaan yang dilaksanakan:
Anti-Perspektif (UNION ALL):
<code class="language-sql">SELECT id, month, col1 AS value, 'col1' AS descrip FROM yourtable UNION ALL SELECT id, month, col2 AS value, 'col2' AS descrip FROM yourtable UNION ALL SELECT id, month, col3 AS value, 'col3' AS descrip FROM yourtable UNION ALL SELECT id, month, col4 AS value, 'col4' AS descrip FROM yourtable;</code>
Perspektif (pengagregatan dan KES):
<code class="language-sql">SELECT descrip, MAX(CASE WHEN month = 'Jan' THEN value ELSE 0 END) AS Jan, MAX(CASE WHEN month = 'Feb' THEN value ELSE 0 END) AS Feb FROM ( SELECT id, month, col1 AS value, 'col1' AS descrip FROM yourtable UNION ALL SELECT id, month, col2 AS value, 'col2' AS descrip FROM yourtable UNION ALL SELECT id, month, col3 AS value, 'col3' AS descrip FROM yourtable UNION ALL SELECT id, month, col4 AS value, 'col4' AS descrip FROM yourtable ) AS source GROUP BY descrip;</code>
Keputusan:
Pertanyaan ini akan menukar jadual input kepada format jadual pangsi:
DESCRIP | Jan | Feb |
---|---|---|
col1 | A | C |
col2 | B | A |
col3 | 0 | G |
col4 | B | E |
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Data Lajur MySQL menjadi Jadual Pangsi Berasaskan Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!