SQL 将一列拆分成多列的三种方法

数据表中有一列数据,如图所示:

现在需要将该列数据分成三列。

SQL 代码如下所示:

第一种

select

max(case when F1%3=1 then F1 else 0 end) a,

max(case when F1%3=2 then F1 else 0 end) b,

max(case when F1%3=0 then F1 else 0 end) c

from HLR151

group by (F1-1)/3

效果

第二种

select

c1=a.F1,c2=b.F1,c3=c.F1

from HLR151 a

left join HLR151 b on b.F1=a.F1+1

left join HLR151 c on c.F1=a.F1+2

where (a.F1-1)%3=0

效果

第三种

select

max(case when (F1-1)/8=0 then F1 else 0 end) a,

max(case when (F1-1)/8=1 then F1 else 0 end) b,

max(case when (F1-1)/8=2 then F1 else 0 end) c

from HLR151

group by (F1-1)%8

效果

以上是 SQL 将一列拆分成多列的三种方法 的全部内容, 来源链接: utcz.com/z/317850.html

回到顶部