Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh membuat output seperti jadual pangsi dalam MySQL menggunakan SQL?

Bagaimanakah saya boleh membuat output seperti jadual pangsi dalam MySQL menggunakan SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-25 20:42:09
asal
581 orang telah melayarinya

How can I create a pivot table-like output in MySQL using SQL?

Menjana hasil seperti meja pivot dalam mysql

Artikel ini menunjukkan cara membuat kesan jadual pivot dalam MySQL menggunakan SQL. Matlamatnya adalah untuk meringkaskan data, pengelompokan dengan nama syarikat dan menunjukkan tuduhan untuk tindakan dan jumlah halaman yang berbeza.

Memahami jadual pivot

Jadual pivot mengubah data ke dalam laporan ringkasan. Baris mewakili kategori (di sini, nama syarikat), manakala lajur mewakili metrik yang dianalisis (tindakan dan kiraan halaman).

Penyelesaian SQL: Menggunakan kes dan kumpulan oleh

Pendekatan yang paling mudah menggunakan

pernyataan dalam fungsi agregat CASE, dikelompokkan oleh nama syarikat. Berikut adalah contoh pertanyaan: COUNT

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

Pertanyaan Penjelasan:

  • pernyataan mengira keadaan kejadian tertentu tindakan dan kiraan halaman. CASE
  • mengagregatkan keputusan untuk setiap keadaan. COUNT
  • Kumpulan hasilnya dengan GROUP BY, menghasilkan struktur meja pivot. company_name

Batasan dan alternatif:

Kaedah ini memerlukan secara manual menentukan setiap keadaan, menjadikannya rumit untuk banyak tindakan atau jumlah halaman. Teknik yang lebih maju, seperti penyataan yang disediakan atau prosedur yang disimpan, menawarkan skalabiliti yang lebih baik untuk dataset yang lebih besar.

Bacaan Lanjut:

Untuk penyelesaian jadual pivot yang lebih canggih di MySQL, meneroka sumber -sumber ini:

  • tutorial meja pivot mysql
  • jadual pivot di mysql
  • jadual pivot di MySQL dengan pertimbangan prestasi

Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat output seperti jadual pangsi dalam MySQL menggunakan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan