Di MySQL, baris dalam jadual ditukar menjadi lajur, dan langkah -langkah diperlukan.
Langkah 1: Tentukan nilai x dan y
Pertama, tentukan lajur x -value (lajur) dan nilai y (garis) jadual perspektif. Dalam contoh ini, Hostid akan digunakan sebagai nilai, dan nama item akan digunakan sebagai nilai x.
Langkah 2: Tambah tambahan
Tambahkan lajur baru ke setiap nilai x, yang mengandungi nilai yang sepadan. Sebagai contoh, untuk x -value A, B, dan C, tambah lajur A, B, dan C menggunakan pernyataan kes, seperti yang ditunjukkan di bawah:
Langkah 3: Pengumpulan dan Agregasi
<code class="language-sql">SELECT history.*, CASE WHEN itemname = "A" THEN itemvalue END AS A, CASE WHEN itemname = "B" THEN itemvalue END AS B, CASE WHEN itemname = "C" THEN itemvalue END AS C FROM history;</code>
Langkah 4: Mencantikkan (Pilihan)
Jika perlu, anda boleh menggunakan nilai neutral (seperti 0) untuk menggantikan sebarang nilai null untuk menjadikan jadual lebih mudah dibaca:
<code class="language-sql">SELECT hostid, SUM(A) AS A, SUM(B) AS B, SUM(C) AS C FROM history_extended GROUP BY hostid;</code>
Langkah berjaga -jaga lain
Nilai yang digunakan dalam lajur tambahan boleh diselaraskan mengikut keperluan tertentu.
<code class="language-sql">SELECT hostid, COALESCE(A, 0) AS A, COALESCE(B, 0) AS B, COALESCE(C, 0) AS C FROM history_itemvalue_pivot;</code>
Fungsi pempolimeran yang digunakan mungkin berbeza dari hasilnya (seperti kiraan, max). Dengan membuat spekulasi pelbagai lajur dalam kumpulan dengan klausa, pelbagai lajur boleh digunakan sebagai nilai y.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Baris ke Lajur dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!