我在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
如何使用配置单元查询获取输出。。
1条答案
按热度按时间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;