Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membentuk Semula Data dengan Cekap dari Format Panjang ke Lebar dalam MySQL?

Bagaimana untuk Membentuk Semula Data dengan Cekap dari Format Panjang ke Lebar dalam MySQL?

DDD
Lepaskan: 2024-12-29 01:40:10
asal
567 orang telah melayarinya

How to Efficiently Reshape Data from Long to Wide Format in MySQL?

Membentuk Semula Data daripada Format Panjang ke Lebar dalam MySQL

Pengenalan:

Membentuk semula data daripada format panjang (tinggi) kepada format yang luas boleh menjadi satu keperluan apabila memanipulasi data. MySQL menyediakan ciri yang membolehkan anda melaksanakan operasi ini tanpa bergantung pada bahasa skrip luaran.

Mencipta Jadual Format Lebar:

  1. Langkah pertama adalah untuk mendapatkan senarai semua kunci berbeza yang terdapat dalam format panjang jadual:

    SELECT DISTINCT key FROM table;
    Salin selepas log masuk
  2. Gunakan kekunci yang diperoleh untuk mencipta jadual baharu dengan struktur format lebar yang dikehendaki:

    CREATE TABLE wide_table (
        country VARCHAR(255),
        key1 VARCHAR(255),
        key2 VARCHAR(255),
        ...,
        keyN VARCHAR(255)
    );
    Salin selepas log masuk

Mengisi Nilai Jadual:

  1. Akhir sekali, masukkan data ke dalam jadual format lebar menggunakan pertanyaan tab silang:

    INSERT INTO wide_table (
        country,
        key1,
        key2,
        ...,
        keyN
    )
    SELECT
        country,
        MAX(IF(key = 'key1', value, NULL)) AS key1,
        MAX(IF(key = 'key2', value, NULL)) AS key2,
        ...,
        MAX(IF(key = 'keyN', value, NULL)) AS keyN
    FROM table
    GROUP BY country;
    Salin selepas log masuk

Contoh:

Pertimbangkan jadual input format panjang:

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

Menggunakan langkah di atas, kami boleh membentuk semula data menjadi luas format:

Output Format Luas:

country President Currency
US Obama Dollar
China Hu Yuan

Faedah Menggunakan SQL:

  • Kecekapan: Pertanyaan SQL dioptimumkan untuk operasi pangkalan data, meminimumkan pemprosesan masa.
  • Deklaratif: SQL membolehkan anda menyatakan transformasi yang diingini dalam cara yang ringkas dan boleh dibaca.
  • Kemudahalihan: Pertanyaan SQL boleh dilaksanakan merentas pangkalan data MySQL yang berbeza, memastikan keserasian tanpa pengubahsuaian.
  • Kebolehselenggaraan: Setelah pertanyaan SQL dibangunkan, ia boleh diselenggara dan diubah dengan mudah mengikut keperluan.

Atas ialah kandungan terperinci Bagaimana untuk Membentuk Semula Data dengan Cekap dari Format Panjang ke Lebar dalam MySQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan