Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menukar Baris ke Lajur dengan Cekap dalam Pelayan SQL?

Bagaimanakah Saya Boleh Menukar Baris ke Lajur dengan Cekap dalam Pelayan SQL?

DDD
Lepaskan: 2025-01-25 14:42:14
asal
660 orang telah melayarinya

How Can I Efficiently Convert Rows to Columns in SQL Server?

kaedah penukaran putaran sederhana SQL Server

Dalam SQL Server, terdapat banyak cara untuk menukar baris ke dalam lajur.

Gunakan fungsi pivot

Fungsi pivot boleh dipindahkan dari baris ke lajur. Berikut adalah contoh pertanyaan menggunakan pivot:

Pertanyaan ini akan mengeluarkan hasil berikut:

<code class="language-sql">select Firstname, Amount, PostalCode, LastName, AccountNumber
from
(
  select value, columnname
  from yourtable
) d
pivot
(
  max(value)
  for columnname in (Firstname, Amount, PostalCode, LastName, AccountNumber)
) piv;</code>
Salin selepas log masuk

Sila ambil perhatian bahawa kecekapan fungsi pivot mungkin lebih rendah untuk set data yang besar.

FirstName Amount PostalCode LastName AccountNumber
John 2.4 ZH1E4A Fork 857685
Gunakan fungsi polimer dan ekspresi kes

Jika pivot tidak berkenaan, anda boleh menggunakan fungsi polimer dan ekspresi kes, seperti yang ditunjukkan di bawah:

Pertanyaan ini akan menghasilkan hasil yang sama seperti pertanyaan pivot.

Menggunakan pelbagai sambungan Join
<code class="language-sql">select
  max(case when columnname = 'FirstName' then value end) Firstname,
  max(case when columnname = 'Amount' then value end) Amount,
  max(case when columnname = 'PostalCode' then value end) PostalCode,
  max(case when columnname = 'LastName' then value end) LastName,
  max(case when columnname = 'AccountNumber' then value end) AccountNumber
from yourtable</code>
Salin selepas log masuk

Kaedah lain ialah menggunakan pelbagai sambungan gabungan, seperti yang ditunjukkan di bawah:

Sila ambil perhatian bahawa untuk set data yang besar, kecekapan menggunakan pelbagai sambungan gabungan mungkin tidak tinggi. Kaedah untuk dipilih bergantung pada keperluan data dan prestasi khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Baris ke Lajur dengan Cekap dalam Pelayan SQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan