array_to_string我不知道是否有中array_agg()
配对和MySQL
的PostgreSQL
array_to_string
(或任何接近这个功能至少)我没有任何运气我的研究试图找到类似的东西到这两个。对于非PostgreSQL用户,以下是它的工作原理。
通常情况下,执行:PostgreSQL的ARRAY_AGG(),并在MySQL
SELECT my_column FROM my_table;
将导致到:
--------------
| my_column |
|------------|
| DATA1 |
| DATA2 |
| DATA3 |
| DATA4 |
--------------
在另一方面,执行语句:
SELECT array_agg(my_column) FROM my_table;
将导致到:
单行与来自my_column的所有数据。
-----------------------------------
| array_agg(my_column) |
|---------------------------------|
|{"DATA1","DATA2","DATA3","DATA4"}|
-----------------------------------
和array_to_string,作为函数名称说,它将数组转换为单个字符串。
转换的ARRAY_AGG(my_column)将返回如下:
-------------------------
| |
|-----------------------|
|DATA1,DATA2,DATA3,DATA4|
-------------------------
根据您的分隔符。就我而言,它是逗号。
* ** * ** * ** * ** * ** * ***编辑(液) ** * ** * ** * ** * ** * ** * *
溶液(IgorRomanchenko书面):
SELECT GROUP_CONCAT(my_column SEPARATOR ',');
你有没有尝试过'GROUP_CONCAT'字符串聚合? –
至于array_to_string的问题 - MySQL没有内建的“Array”数据类型,所以要求类似的函数是毫无意义的。如果您只是想将多个奇异值与中间的分隔符连接起来,请查看CONCAT_WS。一般来说,查看函数概述以了解MySQL提供的功能以及您可以使用哪些数据类型以及哪些数据类型:http://dev.mysql.com/doc/refman/5.5/en/ func-op-summary-ref.html – CBroe
只需注意,在PostgreSQL 9.0和更高版本中,可以使用string_agg函数来替代序列string_to_array(array_agg(..),',') - 它会更快一些。 –