我有一个表格,其中包含以下格式的数据。
id | col1 | col2 | col3
1 | d11 | d21 | d31
2 | d12 | d22 | d32
3 | d13 | d23 | d33
4 | d14 | d24 | d34
5 | d15 | d25 | d35
6 | d16 | d26 | d36
是否可以获取以下格式的数据。
id | 1 | 2 | 3 | 4 | 5 | 6
col1 | d11 | d12 | d13 | d14 | d15 | d16
col2 | d21 | d22 | d23 | d24 | d25 | d26
col3 | d31 | d32 | d33 | d34 | d35 | d36
我什至没有一个基本的想法。欢迎任何事情。
最佳答案
您可以将此查询用于您的输出
with cte as (
select id, 'col1' as col , col1 as val from tab
union all
select id, 'col2' as col , col2 as val from tab
union all
select id, 'col3' as col , col3 as val from tab
)
select id, [1], [2], [3], [4], [5], [6] from (
select id, col, val from cte
) as d
pivot (
max(val) for col in ( [1], [2], [3], [4], [5], [6] )
) as p
请验证这一点,看看它是否有效。
关于mysql - 是否可以以转置格式从表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57319808/