Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggunakan Fungsi PIVOT SQL Server untuk Mengubah Baris menjadi Lajur?

Bagaimanakah Saya Boleh Menggunakan Fungsi PIVOT SQL Server untuk Mengubah Baris menjadi Lajur?

Patricia Arquette
Lepaskan: 2025-01-25 12:17:14
asal
838 orang telah melayarinya

How Can I Use SQL Server's PIVOT Function to Transform Rows into Columns?

Menguasai Fungsi PIVOT SQL Server untuk Transformasi Data

Fungsi PIVOT SQL Server menawarkan cara yang berkuasa untuk menyusun semula data, mengubah baris menjadi lajur untuk analisis dan pelaporan yang lebih baik. Ini amat membantu apabila anda perlu membentangkan data dalam format jadual yang lebih mesra pengguna.

Bayangkan jadual sementara yang mengandungi angka jualan, dengan lajur untuk nombor kedai, nombor minggu dan jumlah jualan. Untuk memaparkan data ini dengan kedai yang disenaraikan secara menegak dan minggu secara mendatar, ikut langkah berikut:

1. Kenal pasti Nombor Minggu Secara Dinamik

Oleh kerana nombor minggu adalah berubah-ubah, pertama sekali kita perlu menentukan nombor minggu unik yang terdapat dalam set data. Ini boleh dicapai menggunakan:

SELECT DISTINCT Week FROM yt;
Salin selepas log masuk

2. Pembinaan Pertanyaan SQL Dinamik

Seterusnya, kami membina pertanyaan SQL dinamik. Ini melibatkan mencipta rentetan yang mengandungi nama lajur untuk operasi PIVOT. Kod berikut menjana rentetan ini:

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,'');
Salin selepas log masuk

3. Membina Pertanyaan PIVOT

Kini, kami membina pertanyaan PIVOT itu sendiri, menggabungkan rentetan lajur yang dijana secara dinamik:

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

4. Melaksanakan Pertanyaan PIVOT

Akhir sekali, laksanakan pertanyaan PIVOT dinamik menggunakan:

EXECUTE(@query);
Salin selepas log masuk

Keputusan:

Output akan menjadi jadual yang menunjukkan nombor kedai dalam lajur pertama dan nombor minggu sebagai pengepala lajur. Jumlah jualan yang sepadan akan mengisi sel jadual, meringkaskan data asal dengan berkesan.

Dengan menggunakan fungsi PIVOT SQL Server, anda boleh menukar data berorientasikan baris dengan cekap kepada format lajur yang lebih mudah ditafsir dan dianalisis, memudahkan tugas pelaporan dan analisis data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi PIVOT SQL Server untuk Mengubah Baris menjadi Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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