Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Lajur dengan betul dalam SQL Menggunakan CASE WHEN dan GROUP BY?

Bagaimana untuk Mengubah Lajur dengan betul dalam SQL Menggunakan CASE WHEN dan GROUP BY?

Mary-Kate Olsen
Lepaskan: 2025-01-11 15:56:41
asal
568 orang telah melayarinya

How to Correctly Pivot Columns in SQL Using CASE WHEN and GROUP BY?

Pivot lajur SQL menggunakan CASE WHEN dan betulkan pernyataan GROUP BY

Penerangan masalah:

Untuk memutar lajur dalam jadual kepada berbilang lajur berdasarkan syarat tertentu, pertanyaan SQL boleh menggunakan ungkapan CASE WHEN. Walau bagaimanapun, apabila melaksanakan kaedah ini, pengguna mungkin mengalami hasil yang tidak betul kerana tiada pengelompokan.

Pertanyaan:

Untuk menyelesaikan isu ini, pertanyaan yang diubah suai termasuk fungsi agregat SUM() dan kumpulan yang betul disediakan di bawah:

<code class="language-sql">SELECT 
  name,
  SUM(CASE WHEN val = 1 THEN amount ELSE 0 END) AS amountVal1,
  SUM(CASE WHEN val = 2 THEN amount ELSE 0 END) AS amountVal2
FROM bank GROUP BY name</code>
Salin selepas log masuk

Penjelasan:

  • Fungsi SUM() hendaklah digunakan dalam ungkapan CASE WHEN untuk mengira jumlah amaun setiap val (1 dan 2) bagi setiap nama.
  • Klausa KUMPULAN MENGIKUT nama mengumpulkan hasil mengikut lajur nama, memastikan amaun bagi setiap nama berbeza dijumlahkan dengan betul.

Keputusan yang dijangkakan:

Pertanyaan yang dipertingkatkan ini akan menghasilkan output yang diingini:

name amountVal1 amountVal2
John 2000 1888
Peter 1999 1854

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Lajur dengan betul dalam SQL Menggunakan CASE WHEN dan GROUP BY?. 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