MySQL中的PostgreSQL array_agg()和array_to_string

时间:2013-08-12 09:52:31

标签: mysql function postgresql

我想知道array_agg()array_to_stringPostgreSQL的{​​{1}}是否对应(或者至少接近此功能)我没有运气我的研究试图找到类似这两个的东西。对于非PostgreSQL用户,这是它的工作原理 通常,执行:

MySQL

将导致:

SELECT my_column FROM my_table;

另一方面,执行声明:

--------------
| my_column  |
|------------|
|   DATA1    |
|   DATA2    |
|   DATA3    |
|   DATA4    |
--------------

将导致:
包含my_column中所有数据的单行。

SELECT array_agg(my_column) FROM my_table;

而array_to_string,正如函数名所示,它将数组转换为单个String。
转换array_agg(my_column)将返回以下内容:

-----------------------------------
|       array_agg(my_column)      |
|---------------------------------|
|{"DATA1","DATA2","DATA3","DATA4"}|
-----------------------------------

取决于您的分隔符。就我而言,它是逗号。

* ** * ** * ** * ** * ** * *** 编辑(溶液)的 ** * * * * ** * ** * ** * ** * *

解决方案(由IgorRomanchenko撰写):

-------------------------
|                       |
|-----------------------|
|DATA1,DATA2,DATA3,DATA4|
-------------------------

1 个答案:

答案 0 :(得分:6)

MySQL没有内置数组类型,但您可以使用字符串聚合(如GROUP_CONCAT)将多个值聚合为单个字符串。