Rumah > pangkalan data > tutorial mysql > Bolehkah MySQL Mengubah Data Format Panjang kepada Format Luas Tanpa Skrip Luaran?

Bolehkah MySQL Mengubah Data Format Panjang kepada Format Luas Tanpa Skrip Luaran?

Susan Sarandon
Lepaskan: 2024-12-25 10:09:15
asal
367 orang telah melayarinya

Can MySQL Transform Long-Format Data to Wide-Format Without External Scripts?

Membentuk Semula Data daripada Format Panjang ke Lebar dalam MySQL

Dalam MySQL, data selalunya disimpan dalam format panjang atau tinggi, di mana berbilang atribut disimpan dalam baris berasingan untuk entiti yang sama. Walau bagaimanapun, untuk tujuan analisis dan pelaporan, adalah lebih mudah untuk mempunyai data dalam format yang luas, di mana setiap baris mewakili entiti dan setiap lajur mewakili atribut.

Bolehkah MySQL digunakan untuk menukar data format panjang ke format lebar tanpa skrip luaran? Ya, ia mungkin menggunakan keupayaan jadual pangsi MySQL yang berkuasa.

Mencipta Jadual Lebar

  1. Ambil Senarai Kunci: Dapatkan semula semua kunci berbeza yang terdapat dalam jadual format panjang menggunakan pertanyaan seperti:

    SELECT DISTINCT key FROM table;
    Salin selepas log masuk
  2. Buat Jadual Lebar: Cipta jadual baharu dengan lajur yang diperlukan. Nama lajur harus sepadan dengan kunci. Contohnya, jika anda mempunyai kunci Presiden dan Mata Wang, jadual anda hendaklah mengandungi lajur bernama Presiden dan Mata Wang.

Mengisi Nilai Jadual

Gunakan pertanyaan tab silang untuk mengisi nilai dalam jadual lebar. Pertanyaan berikut menunjukkan ini:

SELECT country,
       MAX(IF(key='President', value, NULL)) AS President,
       MAX(IF(key='Currency', value, NULL)) AS Currency,
       ...  -- Add other key-value pairs as needed

FROM table
GROUP BY country;
Salin selepas log masuk

Pertanyaan ini menyemak setiap baris dalam jadual panjang dan hanya mengembalikan nilai terkini untuk setiap pasangan nilai kunci untuk negara tersebut. Fungsi MAX dengan keadaan IF memastikan bahawa nilai terbaharu dikekalkan.

Sebagai contoh, data input yang disediakan dalam soalan akan ditukar kepada lebar berikut format:

Input:

country attrName attrValue key
US President Obama 2
US Currency Dollar 3
China President Hu 4
China Currency Yuan 5

Output:

country President Currency
US Obama Dollar
China Hu Yuan

Kesimpulan

Menggunakan jadual pangsi MySQL, adalah mudah untuk membentuk semula data dari panjang ke lebar format, menjadikannya lebih sesuai untuk analisis dan pelaporan. Kaedah ini cekap dan boleh digunakan pada jadual dengan sebarang bilangan atribut.

Atas ialah kandungan terperinci Bolehkah MySQL Mengubah Data Format Panjang kepada Format Luas Tanpa Skrip Luaran?. 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