Programing

결과를 쉼표로 구분 된 목록으로 반환하는 PostgreSQL 쿼리

lottogame 2020. 10. 18. 08:19
반응형

결과를 쉼표로 구분 된 목록으로 반환하는 PostgreSQL 쿼리


SELECT id from table여러 결과를 반환 하는 쿼리 (실제 경우는 복잡한 쿼리)가 있다고 가정 해 보겠습니다 .

문제는 id쉼표로 구분 된 단일 행에서 모든 반환 을 얻는 방법입니다 .


SELECT string_agg(id, ',') FROM table

PostgreSQL 9.0이 필요하지만 문제가되지 않습니다.


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


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

참고 URL : https://stackoverflow.com/questions/11899024/postgresql-query-to-return-results-as-a-comma-separated-list

반응형