Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Baris ke Lajur dalam Pelayan SQL Menggunakan PIVOT?

Bagaimana untuk Menukar Baris ke Lajur dalam Pelayan SQL Menggunakan PIVOT?

DDD
Lepaskan: 2025-01-25 12:22:10
asal
290 orang telah melayarinya

How to Convert Rows to Columns in SQL Server Using PIVOT?

menggunakan fungsi pivot SQL Server untuk menyusun semula data

fungsi kuat

SQL Server menawarkan cara yang diperkemas untuk mengubah data dari struktur berasaskan baris ke satu lajur berasaskan lajur. Ini amat berguna untuk membuat laporan jadual yang lebih mudah dibaca dan dianalisis.

PIVOT Bayangkan meja dengan nombor kedai, nombor minggu, dan nilai (mari kita panggilnya

). Matlamatnya adalah untuk menyusun semula data ini supaya nombor kedai disenaraikan secara menegak (baris) dan nombor minggu secara mendatar (lajur).

xCount

pivot statik (nombor minggu yang diketahui):

Jika anda sudah mengetahui nombor minggu tertentu yang anda perlukan, pertanyaan

mudah boleh digunakan:

PIVOT

pertanyaan ini merangkumi nilai
<code class="language-sql">SELECT *
FROM (
  SELECT store, week, xCount
  FROM yt
) src
PIVOT (SUM(xcount) FOR week IN ([1], [2], [3])) piv;</code>
Salin selepas log masuk
untuk setiap kedai dan minggu. Klausa

menentukan minggu ([1], [2], [3] dalam contoh ini). xCount IN

pivot dinamik (nombor minggu yang tidak diketahui):

Apabila nombor minggu dinamik (tidak diketahui terlebih dahulu), pendekatan yang lebih fleksibel diperlukan:

Pertanyaan dinamik ini mula-mula membina senarai koma yang dipisahkan dari nombor minggu yang unik dari jadual
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX)

SELECT @cols = STUFF((SELECT ',' + QUOTENAME(Week) 
                    FROM yt
                    GROUP BY Week
                    ORDER BY Week
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')

SET @query = 'SELECT store,' + @cols + ' FROM (
                SELECT store, week, xCount
                FROM yt
            ) x
            PIVOT (
                SUM(xCount)
                FOR week IN (' + @cols + ')
            ) p '

EXECUTE(@query);</code>
Salin selepas log masuk
. Senarai ini kemudiannya dimasukkan ke dalam pertanyaan yang lebih besar yang menggunakan fungsi

untuk membuat output berasaskan lajur yang dikehendaki. Hasilnya adalah jadual pivot yang menunjukkan kedai sebagai baris dan minggu sebagai lajur, dengan nilai yt yang sepadan. Kaedah ini menyesuaikan diri dengan beberapa minggu yang hadir dalam data. PIVOT

Atas ialah kandungan terperinci Bagaimana untuk Menukar Baris ke Lajur dalam Pelayan SQL Menggunakan PIVOT?. 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