SELECT id from table
여러 결과를 반환 하는 쿼리 (실제 경우는 복잡한 쿼리)가 있다고 가정 해 보겠습니다 .
문제는 id
쉼표로 구분 된 단일 행에서 모든 반환 을 얻는 방법입니다 .
array_agg()
기능 과 관련이 있고 유용 했습니다.
SELECT id from table
여러 결과를 반환 하는 쿼리 (실제 경우는 복잡한 쿼리)가 있다고 가정 해 보겠습니다 .
문제는 id
쉼표로 구분 된 단일 행에서 모든 반환 을 얻는 방법입니다 .
array_agg()
기능 과 관련이 있고 유용 했습니다.
답변:
SELECT string_agg(id::text, ',') FROM table
PostgreSQL 9.0이 필요하지만 문제가되지 않습니다.
string_agg(CAST(id as varchar), ',')
대신 다음과 같이 했습니다.
string_agg(id::text, ',')
select string_agg(id, ', ' order by id desc) from table
STRING_AGG(DISTINCT customer_name, ',')
array () 및 array_to_string () 함수를 사용하여 쿼리를 가져올 수 있습니다. 다음과 SELECT array( SELECT id FROM table );
같은 결과가 표시됩니다. {1,2,3,4,5,6}
그런 다음 {} 기호를 제거하려면 array_to_string () 함수를 사용하고 쉼표를 구분 기호로 사용 SELECT array_to_string( array( SELECT id FROM table ), ',' )
하면 다음과 같은 결과가 나타납니다. 1,2,3,4,5,6
SELECT array_to_string( id, ',' ) AS id FROM table
psql을 사용하여 모든 SQL 쿼리에서 CSV를 생성 할 수 있습니다.
$ psql
> \o myfile.csv
> \f ','
> \a
> SELECT col1 AS column1, col2 AS column2 ... FROM ...
결과 myfile.csv는 SQL 결과 집합 열 이름을 CSV 열 헤더로, 쿼리 튜플을 CSV 행으로 갖습니다.
h / t http://pookey.co.uk/wordpress/archives/51-outputting-from-postgres-to-csv
동일한 경우 array_to_string () 및 array () 함수를 사용하십시오.
select array_to_string(array(select column_name from table_name where id=5), ', ');
string_agg()
습니까?