Rumah > Artikel > pangkalan data > Bagaimana untuk melaksanakan penukaran baris-lajur dalam mysql
MySQL ialah sistem pengurusan pangkalan data hubungan yang popular. Ia menyediakan fungsi penukaran lajur baris yang berkuasa, membolehkan pengguna mengendalikan data dengan lebih mudah. Apakah penukaran baris-lajur? Penukaran lajur baris merujuk kepada menukar data baris dalam jadual kepada data lajur atau menukar data lajur kepada data baris. Artikel ini akan memperkenalkan cara menggunakan fungsi penukaran baris-lajur MySQL.
Dalam MySQL, kita boleh menggunakan fungsi PIVOT dan UNPIVOT untuk menukar data baris dalam jadual kepada data lajur. Fungsi PIVOT menukar data baris dalam jadual kepada data lajur, manakala fungsi UNPIVOT menukar data lajur dalam jadual kepada data baris.
Berikut ialah contohnya. Katakan kita mempunyai pelajar meja, yang mengandungi nama pelajar, mata pelajaran dan gred.
学生姓名 | 科目 | 成绩 |
---|---|---|
小明 | 数学 | 90 |
小明 | 英语 | 80 |
小红 | 数学 | 95 |
小红 | 英语 | 85 |
Kita boleh menggunakan fungsi PIVOT untuk menukar markah pelajar ke dalam bentuk berikut:
学生姓名 | 数学成绩 | 英语成绩 |
---|---|---|
小明 | 90 | 80 |
小红 | 95 | 85 |
Gunakan kod berikut untuk melaksanakan:
SELECT 学生姓名, MAX(CASE WHEN 科目 = '数学' THEN 成绩 ELSE NULL END) AS 数学成绩, MAX(CASE WHEN 科目 = '英语' THEN 成绩 ELSE NULL END) AS 英语成绩 FROM students GROUP BY 学生姓名;
Di mana, MAX Fungsi digunakan untuk mendapatkan nilai skor maksimum Jika syarat tidak dipenuhi, NULL dikembalikan.
Sepadan dengan fungsi PIVOT ialah fungsi UNPIVOT, yang digunakan untuk menukar data lajur dalam jadual kepada data baris. Di bawah adalah contoh. Katakan kita mempunyai jualan meja, yang mengandungi rekod jualan setiap jurujual setiap bulan.
销售员 | 1月销售额 | 2月销售额 | 3月销售额 |
---|---|---|---|
小明 | 10000 | 20000 | 15000 |
小红 | 12000 | 18000 | 11000 |
Kita boleh menggunakan fungsi UNPIVOT untuk menukar rekod jualan ke dalam bentuk berikut:
销售员 | 月份 | 销售额 |
---|---|---|
小明 | 1月 | 10000 |
小明 | 2月 | 20000 |
小明 | 3月 | 15000 |
小红 | 1月 | 12000 |
小红 | 2月 | 18000 |
小红 | 3月 | 11000 |
Gunakan kod berikut untuk melaksanakan:
SELECT 销售员, MONTH, 销售额 FROM sales UNPIVOT( 销售额 FOR MONTH IN ([1月], [2月], [3月]) ) AS unpvt;
Di mana, fungsi UNPIVOT Klausa FOR dalam digunakan untuk menentukan lajur yang hendak ditukar. Dalam contoh ini, kami menentukan bahawa lajur yang hendak ditukar ialah [Januari], [Februari] dan [Mac].
Ringkasan
Penukaran lajur lajur ialah fungsi yang sangat praktikal, terutamanya dalam senario yang berkaitan dengan laporan dan analisis data perniagaan. MySQL menyediakan fungsi PIVOT dan UNPIVOT untuk menjadikan penukaran data lebih mudah untuk pengguna. Mampu menggunakan kedua-dua fungsi ini dengan cekap akan membawa kemudahan yang besar kepada operasi pangkalan data anda.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penukaran baris-lajur dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!