Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membentuk Semula Data MySQL daripada Format Sempit ke Luas Menggunakan SQL?

Bagaimana untuk Membentuk Semula Data MySQL daripada Format Sempit ke Luas Menggunakan SQL?

Barbara Streisand
Barbara Streisandasal
2024-12-20 14:18:14135semak imbas

How to Reshape MySQL Data from Narrow to Wide Format Using SQL?

Membentuk Semula Data MySQL daripada Format Sempit ke Luas

Pengenalan

Data selalunya datang dalam pelbagai format, dan有时候, adalah perlu untuk menukarnya dari satu format ke format yang lain. Satu penukaran biasa ialah daripada format sempit/tinggi kepada format lebar, dengan berbilang lajur dalam jadual sempit menjadi berbilang baris dalam jadual lebar. Artikel ini meneroka cara untuk mencapai penukaran ini dalam MySQL.

Mencipta Struktur Jadual Lebar

Untuk mencipta jadual format lebar, mula-mula kenal pasti semua kunci unik dari sempit meja. Ini boleh dicapai menggunakan pertanyaan berikut:

select distinct key from table;

Hasil pertanyaan ini akan memberikan senarai semua kunci unik dalam jadual sempit. Kekunci ini akan menjadi nama lajur untuk jadual format lebar. Sebagai contoh, jika kunci yang berbeza ialah ['Presiden', 'Mata Wang'], jadual format lebar akan mempunyai struktur berikut:

country, President, Currency

Mengisi Data Jadual Lebar

Untuk mengisi nilai bagi jadual format lebar, gunakan pernyataan SELECT dengan fungsi agregat seperti MAX() atau GROUP_CONCAT():

SELECT country, 
       MAX( IF( key='President', value, NULL ) ) AS President,
       MAX( IF( key='Currency', value, NULL ) ) AS Currency
FROM table 
GROUP BY country;

Dalam contoh ini, fungsi agregat MAX() digunakan untuk mendapatkan nilai maksimum bagi setiap kunci dalam setiap negara. Pertanyaan ini akan menghasilkan keputusan berikut:

country, President, Currency
US, Obama, Dollar
China, Hu, Yuan

Pendekatan Alternatif: Cross-Tab atau Jadual Pangsi

Pendekatan alternatif untuk mencipta jadual format lebar adalah dengan menggunakan tab silang atau jadual pangsi. Ini boleh dicapai menggunakan alatan seperti pengendali PIVOT MySQL, yang membolehkan anda menentukan lajur dan fungsi agregat yang anda mahu gunakan.

Kesimpulan

Membentuk semula data daripada sempit kepada format lebar boleh dicapai dengan mudah dalam MySQL menggunakan fungsi agregat SQL atau jadual tab silang/pangsi. Penukaran ini amat berguna apabila menggunakan alat visualisasi data seperti carta dan graf.

Atas ialah kandungan terperinci Bagaimana untuk Membentuk Semula Data MySQL daripada Format Sempit ke Luas Menggunakan SQL?. 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