Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Data Lajur MySQL ke Baris Menggunakan Agregasi dan Pernyataan Bersyarat?

Bagaimana untuk Mengubah Data Lajur MySQL ke Baris Menggunakan Agregasi dan Pernyataan Bersyarat?

Patricia Arquette
Lepaskan: 2024-12-21 18:12:18
asal
717 orang telah melayarinya

How to Pivot MySQL Column Data into Rows Using Aggregation and Conditional Statements?

Data Lajur Jadual Pangsi MySQL sebagai Baris

Untuk memaksi data lajur jadual secara berkesan ke dalam baris dalam MySQL, anda boleh menggunakan gabungan fungsi pengagregatan dan bersyarat kenyataan.

Pertanyaan:

SELECT
  a.ID,
  a.user_ID,
  a.job_id,
  MAX(CASE WHEN c.question = 'Is it this?' THEN b.answer END) 'Is it this?',
  MAX(CASE WHEN c.question = 'Or this?' THEN b.answer END) 'Or this?',
  MAX(CASE WHEN c.question = 'Or that? ' THEN b.answer END) 'Or that? '
FROM
  Results a
INNER JOIN
  Answers b ON a.id = b.fk_result_id
INNER JOIN
  Question c ON b.fk_question_id = c.ID
GROUP BY
  a.ID,
  a.user_ID,
  a.job_id;
Salin selepas log masuk

Penjelasan:

  1. Sertai Keputusan, Jawapan dan Soalan jadual.
  2. Gunakan pernyataan KES untuk menilai sama ada setiap syarat soalan dipenuhi dan mengembalikan yang sepadan jawapan.
  3. Agregat jawapan maksimum untuk setiap soalan menggunakan fungsi MAX().

Petua Tambahan:

  • Jika anda mempunyai bilangan soalan yang dinamik, pertimbangkan untuk menggunakan pertanyaan SQL dinamik berdasarkan soalan yang tersedia.
  • Gunakan Pautan demo SQLFiddle disediakan dalam jawapan untuk demonstrasi praktikal.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Data Lajur MySQL ke Baris Menggunakan Agregasi dan Pernyataan Bersyarat?. 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