标签: group-concat

如何将多行中的文本连接成SQL Server中的单个文本字符串?

考虑一个包含三个行的名称的数据库表:

Peter
Paul
Mary
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将其转换为单个字符串Peter, Paul, Mary

sql sql-server csv string-concatenation group-concat

1813
推荐指数
33
解决办法
222万
查看次数

我可以将多个MySQL行连接到一个字段中吗?

使用MySQL,我可以这样做:

SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;
Run Code Online (Sandbox Code Playgroud)

我的输出:

shopping
fishing
coding
Run Code Online (Sandbox Code Playgroud)

但相反,我只想要1行,1 col:

预期产出:

shopping, fishing, coding
Run Code Online (Sandbox Code Playgroud)

原因是我从多个表中选择了多个值,并且在所有连接之后我有了比我想要的更多的行.

我在MySQL Doc上寻找了一个函数,它看起来不像CONCATCONCAT_WS函数接受结果集,所以这里的任何人都知道如何做到这一点吗?

mysql sql concat group-concat

1143
推荐指数
10
解决办法
63万
查看次数

MySQL和GROUP_CONCAT()的最大长度

GROUP_CONCAT()在MySQL查询中使用将多行转换为单个字符串.但是,此函数的结果的最大长度是1024字符.

我非常清楚我可以改变参数group_concat_max_len来增加这个限制:

SET SESSION group_concat_max_len = 1000000;
Run Code Online (Sandbox Code Playgroud)

但是,在我正在使用的服务器上,我无法更改任何参数.不是通过使用前面的查询而是通过编辑任何配置文件.

所以我的问题是:有没有其他方法可以将多行查询的输出转换为单个字符串?

mysql group-concat

244
推荐指数
6
解决办法
23万
查看次数

Postgresql GROUP_CONCAT等价?

我有一个表,我想每个id拉一行,并且字段值连接在一起.

例如,在我的表中,我有这个:

TM67 | 4  | 32556
TM67 | 9  | 98200
TM67 | 72 | 22300
TM99 | 2  | 23009
TM99 | 3  | 11200
Run Code Online (Sandbox Code Playgroud)

我想输出:

TM67 | 4,9,72 | 32556,98200,22300
TM99 | 2,3    | 23009,11200
Run Code Online (Sandbox Code Playgroud)

在MySQL中,我能够使用聚合函数GROUP_CONCAT,但这似乎在这里不起作用...是否有等效的PostgreSQL,或其他方法来实现这一点?

sql postgresql group-concat string-aggregation

237
推荐指数
5
解决办法
14万
查看次数

MySQL:排序GROUP_CONCAT值

简而言之:有没有办法对GROUP_CONCAT语句中的值进行排序?

查询:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences
Run Code Online (Sandbox Code Playgroud)

我得到这一行:

工艺品»细木工

管理»组织

我希望这样:

管理»组织

工艺品»细木工

mysql sorting sql-order-by group-concat

175
推荐指数
2
解决办法
9万
查看次数

关于GROUP_CONCAT()的MySQL DISTINCT

我在做SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table.以下示例数据:

categories
----------
test1 test2 test3
test4
test1 test3
test1 test3
Run Code Online (Sandbox Code Playgroud)

但是,我test1 test2 test3 test4 test1 test3回来了,我想test1 test2 test3 test4回来.有任何想法吗?

非常感谢!

mysql group-concat

170
推荐指数
6
解决办法
14万
查看次数

GROUP_CONCAT逗号分隔符 - MySQL

我有一个查询,我正在使用GROUP_CONCAT和自定义分隔符,因为我的结果可能包含逗号:'----'

这一切都运行良好,但它仍然以逗号分隔,所以我的输出是:

Result A----,Result B----,Result C----
Run Code Online (Sandbox Code Playgroud)

我怎样才能使输出为:

Result A----Result B----Result C----
Run Code Online (Sandbox Code Playgroud)

我认为这是自定义分隔符的想法!

如果失败了,你可以在结果中逃避逗号,所以我可以用GROUP_CONCAT逗号在PHP中爆炸吗?

mysql group-concat separator

136
推荐指数
2
解决办法
20万
查看次数

GROUP_CONCAT ORDER BY

我有一张桌子:

+-----------+-------+------------+
| client_id | views | percentage |
+-----------+-------+------------+
|         1 |     6 |         20 |
|         1 |     4 |         55 |
|         1 |     9 |         56 |
|         1 |     2 |         67 |
|         1 |     7 |         80 |
|         1 |     5 |         66 |
|         1 |     3 |         33 |
|         1 |     8 |         34 |
|         1 |     1 |         52 |
Run Code Online (Sandbox Code Playgroud)

我试过了group_concat:

SELECT li.client_id, …
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by group-concat

121
推荐指数
4
解决办法
10万
查看次数

如何在MySQL的CONCAT中使用GROUP_CONCAT

如果我在MySQL中有一个包含以下数据的表:

id       Name       Value
1          A          4
1          A          5
1          B          8
2          C          9
Run Code Online (Sandbox Code Playgroud)

如何将其变为以下格式?

id         Column
1          A:4,5,B:8
2          C:9
Run Code Online (Sandbox Code Playgroud)


我想我必须使用GROUP_CONCAT.但我不确定它是如何工作的.

mysql concat group-concat

102
推荐指数
5
解决办法
26万
查看次数

在PHPMYADMIN中使用group_concat将显示结果为[BLOB - 3B]

我有一个查询,它在整数字段上使用mysql的GROUP_CONCAT.
我正在使用PHPMYADMIN来开发此查询.我的问题是,不是显示1,2是连接字段的结果,而是[BLOB - 3B].

查询是

SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
Run Code Online (Sandbox Code Playgroud)

(两个字段都是unsigned int,两者都不是唯一的)

我应该添加什么来查看实际结果?

mysql casting group-by phpmyadmin group-concat

55
推荐指数
4
解决办法
3万
查看次数