SQL列转换行的两种方法

Posted

tags:

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

技术分享技术分享

 

--通过MAX...CASE...WHEN...转换列数据
select Student as 姓名,
MAX(CASE Subject WHEN 语文 THEN Score ELSE 0 END ) AS 语文, --替换Subject列数据为Score列数据
MAX(CASE Subject WHEN 英语 THEN Score ELSE 0 END ) AS 英语 --替换Subject列数据为Score列数据
from Scores
group by Student
order by Student



 SELECT 
    Student as 姓名,
    --通过AVG函数转换语文列
    AVG(语文) as 语文,
    --通过AVG函数转换英语列
    AVG(英语) as 英语
from Scores
--转换英语和语文的数据为Score列对应的数据
pivot( AVG(Score) for Subject in (语文,英语) )as NewScores

group by Student
order by Student asc

 

以上是关于SQL列转换行的两种方法的主要内容,如果未能解决你的问题,请参考以下文章

Python输出换行的两种方法

spark-sql将Rdd转换为DataFrame进行操作的两种方法

Spark RDD转换成DataFrame的两种方式

在SQL查询结果中添加自增列的两种方法

Dev中gridControl控件怎么讲某行的两列单元格合并

使用 unpivot 将未知数量的列转换为行的动态 SQL 查询