Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyahpivot Lajur dalam MySQL untuk Menstruktur Semula Data Saya?

Bagaimanakah Saya Boleh Menyahpivot Lajur dalam MySQL untuk Menstruktur Semula Data Saya?

Patricia Arquette
Lepaskan: 2025-01-20 05:36:10
asal
116 orang telah melayarinya

How Can I Unpivot Columns in MySQL to Restructure My Data?

Pembentuk semula data MySQL: pengembangan lajur

Apabila data jadual perlu dibentuk semula, nyahpaut lajur menjadi perlu. Teknik ini menukar lajur kepada baris, memberikan perwakilan data yang lebih fleksibel. Walaupun MySQL tidak menyediakan fungsi pengembangan yang jelas, kami boleh mencapai kesan yang sama melalui pembinaan pertanyaan yang bijak.

Kaedah 1: Gunakan UNION ALL untuk membuat pertanyaan

Salah satu cara ialah menggunakan pertanyaan UNION ALL, yang menambahkan hasil beberapa pernyataan SELECT bersama-sama. Dalam contoh ini, kami mencipta pernyataan SELECT berasingan untuk setiap lajur yang perlu dikembangkan:

<code class="language-sql">select id, 'a' col, a value
from yourtable
union all
select id, 'b' col, b value
from yourtable
union all
select id, 'c' col, c value
from yourtable</code>
Salin selepas log masuk

Pertanyaan ini membina jadual baharu dengan setiap baris mewakili pasangan nilai lajur. Jadual yang terhasil akan mempunyai reka letak berikut:

ID col value
1 a a1
1 b b1
1 c c1
2 a a2
2 b b2
2 c c2

Kaedah 2: Gunakan CROSS JOIN

Pendekatan lain ialah menggunakan CROSS JOIN, yang menghasilkan produk Cartesan berbilang jadual. Menggabungkan jadual anda dengan jadual yang mengandungi nama lajur kita boleh mencapai perkara berikut:

<code class="language-sql">select t.id,
  c.col,
  case c.col
    when 'a' then a
    when 'b' then b
    when 'c' then c
  end as data
from yourtable t
cross join
(
  select 'a' as col
  union all select 'b'
  union all select 'c'
) c</code>
Salin selepas log masuk

Pertanyaan ini menghasilkan output yang sama seperti pertanyaan UNION ALL, memberikan kami perwakilan data yang fleksibel untuk analisis lanjut atau manipulasi data.

Dengan melaksanakan teknik terungkap ini dalam MySQL, anda boleh mengekstrak cerapan bermakna daripada data anda dengan berkesan dengan membentuknya semula menjadi format yang lebih mudah dilayari.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahpivot Lajur dalam MySQL untuk Menstruktur Semula Data Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan