2017-11-09 11 views
1

Amazon redshiftを使用しています。 どのようにして列の結果を結合しますか?Amazon Redshiftで行を結合する方法

元の行がある場合:

*ID Name Color 
---------------- 
1 John White 
1 John Black 
2 Mark Blue 
2 Mark Red* 

結果は次のようになります。

*ID Name Color 
---------------- 
1 John White Black 
2 Mark Blue Red* 
+0

アマゾン赤方偏移は、Postgresのに基づいています。 'group_concat'に対するMySQLの答えはどのように関係しますか?または "重複"? @FancyPants +1 –

+0

@Used_By_既にamazonの赤方偏移について何も知らないけど、質問はまだmysqlとしてタグ付けされています。 – fancyPants

+0

@FancyPants良い点、私はそれを変更しました。マーク:この質問に関連するタグのみを使用してください。 –

答えて

3

赤方偏移が(関数LISTAGGを提供します)あなたが

SELECT id, name, LISTAGG(Color,' ') AS Colors 
FROM yourtable 
GROUP BY id, name 

を必要とするもののためにLISTAGG集合関数は、クエリ内の各グループを指定します。ORDER BY式に従ってそのグループの行がの場合、 は単一の文字列に値を連結します。 http://docs.aws.amazon.com/redshift/latest/dg/r_LISTAGG.html

SELECT id, name 
, LISTAGG(Color,' ') WITHIN GROUP (ORDER BY name) AS Colors 
FROM yourtable 
GROUP BY id, name 
+0

+1、 です。ありがとう –

+0

素晴らしい!あなたが今この答えを「受け入れる」とすれば、2つの評判ポイントが得られますが、15になります。しかし、最も良い点は、他の読者がこの質問に答えていることを知ることです。 [help/accepting](https://stackoverflow.com/help/someone-answers)の詳細については、[**クリック**](https://ibb.co/ikqyO6) –

関連する問題