假设您有一个SELECT id from table查询(真实案例是一个复杂的查询)确实会返回几个结果.
问题是如何id在一行中获得所有返回,以逗号分隔?
sor*_*rin 173
SELECT string_agg(id, ',') FROM table
需要PostgreSQL 9.0,但这不是问题.
Jes*_*ter 49
您可以使用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
Ant*_*ang 13
您可以使用psql从任何SQL查询生成CSV:
$ psql
> \o myfile.csv
> \f ','
> \a
> SELECT col1 AS column1, col2 AS column2 ... FROM ...
Run Code Online (Sandbox Code Playgroud)
生成的myfile.csv将SQL结果集列名称作为CSV列标题,查询元组将作为CSV行.
h/t http://pookey.co.uk/wordpress/archives/51-outputting-from-postgres-to-csv
小智 5
使用下面的查询它将起作用并给出准确的结果。
SELECT array_to_string(array_agg(id), ',') FROM table
Run Code Online (Sandbox Code Playgroud)
输出:{1,2,3,4,5}
| 归档时间: |
|
| 查看次数: |
71709 次 |
| 最近记录: |