从现有列转置配置单元SQL数据

从现有列转置配置单元SQL数据,sql,hive,transpose,Sql,Hive,Transpose,我目前正在使用以下查询来获得以下结果 select mt.name, mt.title, mt.type, mt.day1, mt.day2 from mytable mt 给我的结果是 name title type day1 day2 batman super gothom 12/22/1990 2/2/1990 batman super dc

我目前正在使用以下查询来获得以下结果

select 
  mt.name,
  mt.title,
  mt.type,
  mt.day1,
  mt.day2

from mytable mt
给我的结果是

name       title      type      day1              day2
batman     super      gothom    12/22/1990        2/2/1990
batman     super      dc        1/9/1990          7/5/1990
新的选择应该根据类型创建新的列,并从特定列中获取数据“在本例中是第2天”,理想情况下,我希望我的结果是这样的

name       title      gothom          dc      
batman     super      2/2/1990        7/5/1990

如何实现上面所需的表。

在Hive中,您可以使用条件聚合来透视数据:

select mt.name, mt.title,
       max(case when type = 'gothom' then day2 end) as gothom,
       max(case when type = 'dc' then day2 end) as dc
from mytable mt
group by mt.name, mt.title;

你不需要第一天的信息。正确吗?@Counter10000是正确的可能重复的