Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Baris ke Lajur dalam MySQL Menggunakan Fungsi CASE dan Agregat?

Bagaimana untuk Mengubah Baris ke Lajur dalam MySQL Menggunakan Fungsi CASE dan Agregat?

Mary-Kate Olsen
Lepaskan: 2024-12-03 02:28:11
asal
809 orang telah melayarinya

How to Pivot Rows into Columns in MySQL Using CASE and Aggregate Functions?

Cara Mengubah Baris kepada Lajur dalam MySQL

Jadual pangsi ialah transformasi data biasa yang digunakan untuk menyusun semula data ke dalam format yang lebih mudah untuk membaca dan menganalisis. Dalam senario ini, kami ingin mengubah set hasil dengan berbilang baris kepada jadual dengan lajur untuk setiap nilai Jenis dan baris yang berbeza untuk setiap gabungan ID dan E-mel yang unik.

Untuk mencapai ini dalam MySQL, kami boleh menggunakan pertanyaan berikut:

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email
Salin selepas log masuk

Pertanyaan ini menggunakan pernyataan CASE untuk menetapkan nilai Degignation secara bersyarat untuk setiap baris berdasarkan nilai Jenisnya. Fungsi agregat MAX() kemudian mengembalikan nilai Degignation maksimum untuk setiap Jenis dalam setiap kumpulan ID dan E-mel.

Nota: Adalah penting untuk menggantikan nama jadual pemegang tempat (mytable) dengan nama jadual sebenar yang mengandungi data anda. Selain itu, anda perlu mengetahui semua nilai Jenis yang berbeza terlebih dahulu, kerana SQL tidak membenarkan penambahan lajur secara dinamik semasa pelaksanaan pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Baris ke Lajur dalam MySQL Menggunakan Fungsi CASE dan Agregat?. 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