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列转换行的两种方法的主要内容,如果未能解决你的问题,请参考以下文章
spark-sql将Rdd转换为DataFrame进行操作的两种方法