Sql实现某列的值转为列名

Sql实现某列的值转为列名_第1张图片

                                                                 原始数据

                                                                  处理后的格式

hive中的实现方式

SELECT user_id
	,sum(case when class='a' then score else 0 end)  as a
	,sum(case when class='b' then score else 0 end)  as b
	,sum(case when class='c' then score else 0 end)  as c
FROM uyun_udap.student
group by user_id 
;

orcale中的实现方式(PIVOT函数)

SELECT * FROM uyun_udap.student
PIVOT(
    sym(score)
    FOR class
    IN ( 
        'a',
        'b',
        'c'
    )
)
;

你可能感兴趣的:(hive学习,sql,数据库,大数据)