如何在配置单元中转换表

67up9zun  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(329)

我在Hive里有一张表格,格式如下。

std_id  std_name sub_id sub_name marks 
1       xxx      123    Eng      70
1       xxx      125    Maths    90
1       xxx      124    Science  80

我想要一个如下格式的表格作为输出。

std_id std_name Eng Science Maths  
1      xxx      70  80      90

如何使用配置单元查询获取输出。。

q9rjltbz

q9rjltbz1#

使用 MAX ( CASE.. )GROUP BY ```
SELECT std_id
,std_name
,MAX(CASE
WHEN sub_name = 'Eng'
THEN marks
END) AS Eng
,MAX(CASE
WHEN sub_name = 'Science'
THEN marks
END) AS Science
,MAX(CASE
WHEN sub_name = 'Maths'
THEN marks
END) AS Maths
FROM t
GROUP BY std_id
,std_name;

相关问题