Jadual pangsi tidak ternilai untuk ringkasan data, membolehkan anda mengagregat data merentas berbilang dimensi. Panduan ini menunjukkan cara membuat jadual pangsi dalam MySQL menggunakan pernyataan CASE
dan GROUP BY
.
Contoh Ilustrasi:
Pertimbangkan contoh jadual MySQL ini:
company_name | action | pagecount |
---|---|---|
Company A | 3 | |
Company A | 2 | |
Company A | 3 | |
Company B | NULL | |
Company B | 2 | |
Company B | 2 | |
Company B | 1 | |
Company A | 3 |
Pertanyaan SQL berikut membina jadual pangsi daripada data ini:
<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>
Pertanyaan ini menghasilkan jadual pangsi berikut:
company_name | PRINT 1 pages | PRINT 2 pages | PRINT 3 pages | |
---|---|---|---|---|
CompanyA | 0 | 0 | 1 | 3 |
CompanyB | 1 | 1 | 2 | 0 |
Pembelajaran Lanjutan:
Untuk pemahaman yang lebih mendalam tentang jadual pangsi MySQL, terokai sumber ini:
Atas ialah kandungan terperinci Bagaimana untuk membuat jadual pivot di MySQL menggunakan penyataan kes dan kumpulan oleh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!