gpt4 book ai didi

mysql - 在 Mysql 中将行转置为列

转载 作者:行者123 更新时间:2023-11-29 13:22:49 24 4
gpt4 key购买 nike

虽然我需要将行转置为列,但如果只需将行转置为列或将列转置为行,我就可以做到这一点。

我的数据表。

Student|MONTH|Sub-1|Sub-2|Sub-3
Sunil |JAN | 46 |48 |55
Sunil |APR |33 |44 |55
Sunil |JULY |23 |42 |92
Sunil |OCT |30 |40 |50
Anil |JAN |22 |33 |44
Anil |JULY |13 |42 |92

和所需的输出。

Student|Sub-1|Sub-2|Sub-3|Sub-1|Sub-2|Sub-3|Sub-1|Sub-2|Sub-3|Sub-1|Sub-2|Sub-3
--------------------------------------------------------------------------------------
Stu1 |6 |48 |55 |33 |44 |55 |23 |42 |92 |30 |40 |50
Stu2 |22 |33 |44 | | | |13 |42 |92 |98

etc..

有人知道怎么做吗?非常感谢!!!

最佳答案

您可以使用此解决方案(数据透视表)-

SELECT
Student,
MAX(IF(MONTH = 'JAN', `Sub-1`, NULL)) `JAN-Sub-1`,
MAX(IF(MONTH = 'JAN', `Sub-2`, NULL)) `JAN-Sub-2`,
MAX(IF(MONTH = 'JAN', `Sub-3`, NULL)) `JAN-Sub-3`,
MAX(IF(MONTH = 'FEB', `Sub-1`, NULL)) `FEB-Sub-1`,
MAX(IF(MONTH = 'FEB', `Sub-2`, NULL)) `FEB-Sub-2`,
MAX(IF(MONTH = 'FEB', `Sub-3`, NULL)) `FEB-Sub-3`
FROM
trans
GROUP BY
student

...添加其他月份的列。

关于mysql - 在 Mysql 中将行转置为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20561112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com