行列转换之——多行转多列,多列转多行实践版

Posted gered

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行列转换之——多行转多列,多列转多行实践版相关的知识,希望对你有一定的参考价值。

行列转换之——多行转多列,多列转多行实践版

 

1、多列转行(核心思想,利用row_number() over() 来构造列传行之后的唯一列,来行转列)

   要求:

   技术分享图片

 实操演示:

select a as a,b as b,c as c
into #temp1
union all
select aa,bb,cc
union all 
select aaa,bbb,ccc

select * from 
(
    select column1,value,row_number() over(partition by column1 order by value) as rn from #temp1
    unpivot(value for column1 in(a,b,c) ) t
) a
pivot(max(value) for rn in ([1],[2],[3])) t1

技术分享图片

 


 



以上是关于行列转换之——多行转多列,多列转多行实践版的主要内容,如果未能解决你的问题,请参考以下文章

MySQL关联表多行转多列?

hive如何实现多行转多列

excel怎么把1行转多列多行

Kettle 行列互换之——行转列(多列数据合并成一列变为多行)

怎么将excel中两列转换成多行多列

C#将查询返回的数据(一行多列)怎么转换成一列多行dataTable?