将sql行转换为列

将sql行转换为列,sql,mysql,Sql,Mysql,我有一张桌子: A B c a1 1 a11 a1 2 a12 a1 3 a13 a2 1 a21 a2 2 a22 a2 3 a23 我想把它转换成: A C1 C2 C3 a1 a11 a12 a13 a2 a21 a22 a23 如何编写SQL查询以实现此目标。。。我不想将我的表转换为csv并使用python进行转换 看看。只是为了澄清一些。

我有一张桌子:

A    B     c
a1   1     a11
a1   2     a12
a1   3     a13
a2   1     a21
a2   2     a22
a2   3     a23
我想把它转换成:

A     C1     C2     C3
a1    a11    a12    a13
a2    a21    a22    a23

如何编写SQL查询以实现此目标。。。我不想将我的表转换为csv并使用python进行转换

看看。只是为了澄清一些。是否要根据B列中的值将C列拆分为多个列?您是在尝试替换第一个表设计,还是在尝试编写一个查询,该查询将保留第一个表设计,但会提取第二个表设计的值?我想查看使用此设计的表。
SELECT A,
MAX(CASE WHEN B=1 THEN c END) AS C1,
MAX(CASE WHEN B=2 THEN c END) AS C2, // etc for B=3,4
FROM table1
GROUP BY A