2017-12-28 45 views
0

AWS Athenaの新機能で、行の一部をピボット列にピボットしようとしました。これは、このStackOverflow postの先頭の回答と似ています。AWS Athenaの行を列にピボットするにはどうすればよいですか?

しかし、私が試したとき:mismatched input '(' expecting {',', ')'} (service: amazonathena; status code: 400; error code: invalidrequestexception

誰もが私はAWSアテナで達成しようとしているものを達成する方法を知っています:

SELECT column1, column2, column3 
FROM data 
PIVOT 
(
    MIN(column3) 
    FOR column2 IN ('VALUE1','VALUE2','VALUE3','VALUE4') 
) 

が、私はエラーを取得しますか?

答えて

0

私はPIVOT機能を使用して同じ問題を持っていたあなたのクエリ構文は

SELECT * 
FROM 
(
    SELECT 
     column1 
     , column2 
     , column3 
    FROM data 
) src 
PIVOT 
(
    MIN(column3) 
    FOR column2 IN ([VALUE1],[VALUE2],[VALUE3],[VALUE4]) 
) piv 
0

する必要がありますかなり確信しています。しかし、私は同様のフォーマットのデータセットを得るためにターンアラウンドを使用しました:

select 
    columnToGroupOn, 
    min(if(colToPivot=VALUE1,column3,0)) as VALUE1, 
    min(if(colToPivot=VALUE2,column3,0)) as VALUE2, 
    min(if(colToPivot=VALUE3,column3,0)) as VALUE3 
from 
    data 
group by columnToGroupOn   
関連する問題