带有双头的MySQL / PHP数据透视表

问题描述 投票:-1回答:1

我有这个MySQL表

enter image description here

我需要像波纹管这样的数据透视表,我已经尽力在MySQL中做到这一点,但是没有运气

enter image description here

非常感谢在Mysql或PHP中实现此目标的任何指导

php mysql pivot-table
1个回答
0
投票

您可以使用条件聚合直接在MySQL中实现(至少其中一些):

SELECT id,
       MAX(CASE WHEN subject = 'BIO' THEN t1 END) AS bio_t1,
       MAX(CASE WHEN subject = 'BIO' THEN t2 END) AS bio_t2,
       MAX(CASE WHEN subject = 'BIO' THEN final END) AS bio_final,
       MAX(CASE WHEN subject = 'MATH' THEN t1 END) AS math_t1,
       MAX(CASE WHEN subject = 'MATH' THEN t2 END) AS math_t2,
       MAX(CASE WHEN subject = 'MATH' THEN final END) AS math_final,
       SUM(t1) AS total_t1,
       SUM(t2) AS total_t2,
       SUM(final) AS total_final
FROM yourtable
GROUP BY id
© www.soinside.com 2019 - 2024. All rights reserved.