Simpan nama lajur asal untuk penyahkonvolusian data
Penyahkonvolusian data (Unpivoting) ialah proses menukar data jadual kepada format lain, dengan setiap lajur menjadi baris dan nama lajurnya menjadi atribut baris. Walaupun ini biasanya digunakan untuk membentuk semula data untuk analisis atau visualisasi, dalam beberapa kes ia boleh berguna untuk mengekalkan nama lajur asal.
Soalan:
Memandangkan jadual data dengan nama lajur seperti Name
, Maths
, Science
dan English
, bagaimanakah kita mencairkan data untuk mendapatkan set hasil berikut?
Name | Subject | Marks |
---|---|---|
Tilak | Maths | 90 |
Tilak | Science | 40 |
Tilak | English | 60 |
Penyelesaian:
Menggunakan klausa UNPIVOT
SQL, kita boleh menyahkonversi data sambil mengekalkan nama lajur:
<code class="language-sql">select u.name, u.subject, u.marks from student s unpivot ( marks for subject in (Maths, Science, English) ) u;</code>
UNPIVOT
menukar lajur Maths
, Science
dan English
ke dalam baris dan markah menjadi lajur "markah" dalam set hasil deconvolved. Pada masa yang sama, nama lajur kekal dalam lajur "subjek".
Contoh:
Pertimbangkan set data berikut:
Name | Maths | Science | English |
---|---|---|---|
Tilak | 90 | 40 | 60 |
Raj | 30 | 20 | 10 |
Menggunakan pertanyaan yang diberikan pada set data ini akan menghasilkan hasil yang diingini:
Name | Subject | Marks |
---|---|---|
Tilak | Maths | 90 |
Tilak | Science | 40 |
Tilak | English | 60 |
Raj | Maths | 30 |
Raj | Science | 20 |
Raj | English | 10 |
Teknik ini berguna apabila mengekalkan nama lajur asal adalah penting untuk analisis lanjut atau pemprosesan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Nyahpaut Data Semasa Menyimpan Nama Lajur Asal dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!