Rumah >pangkalan data >tutorial mysql >Bagaimana untuk membuat jadual pivot di MySQL menggunakan penyataan kes dan kumpulan oleh?
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!