Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menghasilkan output jadual pivot menggunakan pertanyaan MySQL?

Bagaimana untuk menghasilkan output jadual pivot menggunakan pertanyaan MySQL?

Mary-Kate Olsen
Lepaskan: 2025-01-25 20:37:09
asal
392 orang telah melayarinya

How to Generate a Pivot Table Output Using MySQL Queries?

Kembalikan output jadual pangsi dalam MySQL

Andaikan anda mempunyai jadual MySQL yang disusun seperti berikut:

公司名称 操作 页数
公司A 打印 3
公司A 打印 2
公司A 打印 3
公司B 邮件 NULL
公司B 打印 2
公司B 打印 2
公司B 打印 1
公司A 打印 3

Sekarang, matlamatnya adalah untuk melaksanakan pertanyaan MySQL untuk menghasilkan output yang serupa dengan ini:

公司名称 邮件 打印1页 打印2页 打印3页
公司A 0 0 1 3
公司B 1 1 2 0

Pada asasnya, output ini mewakili jadual pangsi yang mengisih data berdasarkan gabungan tindakan dan kiraan halaman untuk setiap nama syarikat.

Penyelesaian

Untuk mengembalikan output jadual pangsi dalam MySQL, anda boleh menggunakan pernyataan CASE untuk mentakrifkan syarat bagi setiap sel dan menggunakan KUMPULAN OLEH untuk mengisih data mengikut nama syarikat.

Berikut ialah pernyataan SQL untuk contoh yang disediakan:

<code class="language-sql">SELECT  P.`company_name`,
    COUNT(
        CASE 
            WHEN P.`action`='EMAIL' 
            THEN 1 
            ELSE NULL 
        END
    ) AS 'EMAIL',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '1' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 1 pages',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '2' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 2 pages',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '3' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 3 pages'
FROM    test_pivot P
GROUP BY P.`company_name`;</code>
Salin selepas log masuk

Pertanyaan ini akan mengeluarkan format jadual pangsi yang diingini.

Nota Penting

  • Untuk jadual yang lebih besar dengan lebih banyak kombinasi operasi/halaman, pernyataan SQL akan memerlukan lebih banyak syarat KES.
  • Untuk menampung keadaan dinamik, anda boleh menggunakan pernyataan atau rutin yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk menghasilkan output jadual pivot menggunakan pertanyaan MySQL?. 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