Rumah >pangkalan data >tutorial mysql >Bagaimana untuk melaksanakan penukaran baris-lajur dalam mysql

Bagaimana untuk melaksanakan penukaran baris-lajur dalam mysql

PHPz
PHPzasal
2023-04-17 16:45:033201semak imbas

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.

  1. Tukar data baris kepada data lajur

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.

  1. Tukar data lajur kepada data baris

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!

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