我想知道array_agg()
中array_to_string
和PostgreSQL
的{{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|
-------------------------
答案 0 :(得分:6)
MySQL没有内置数组类型,但您可以使用字符串聚合(如GROUP_CONCAT
)将多个值聚合为单个字符串。