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>
Pertanyaan Penjelasan:
CASE
COUNT
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:
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!