问题标签 [group-concat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
47 回答
2831189 浏览

sql - 如何在 SQL Server 中将多行文本连接成单个文本字符串

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

有没有一种简单的方法可以把它变成一个字符串Peter, Paul, Mary

0 投票
15 回答
792539 浏览

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

使用MySQL,我可以执行以下操作:

我的输出:

但我只想要 1 行,1 列:

预期输出:

原因是我从多个表中选择多个值,并且在所有连接之后,我得到的行数比我想要的多得多。

我在MySQL Doc上寻找了一个函数,它看起来不像CONCATorCONCAT_WS函数接受结果集。

那么这里有人知道怎么做吗?

0 投票
5 回答
77198 浏览

mysql - 在 MySQL 中的子查询上使用 GROUP_CONCAT

我有一个 MySQL 查询,我想在其中包含另一个表中的 ID 列表。在网站上,人们可以添加某些项目,然后人们可以将这些项目添加到他们的收藏夹中。我基本上想获得收藏该项目的人的 ID 列表(这有点简化,但这就是归结为)。

基本上,我做这样的事情:

这样,我可以通过稍后在我的代码中将 idlist 拆分为 PHP 中的数组来显示谁最喜欢某个项目,但是我收到以下 MySQL 错误:

1242 - 子查询返回多于 1 行

我认为这是使用GROUP_CONCAT而不是,例如,CONCAT?我会以错误的方式解决这个问题吗?


好的,感谢到目前为止的答案,这似乎有效。但是,有一个问题。如果项目是由该用户添加的,则该项目也被视为收藏夹。所以我需要一个额外的检查来检查creator = userid。有人可以帮我想出一个聪明的(希望是有效的)方法来做到这一点吗?

谢谢!

编辑:我只是尝试这样做:

idlist是空的请注意,如果我使用INNER JOIN而不是LEFT JOIN我得到一个空的结果。即使我确定有满足 ON 要求的行。

0 投票
10 回答
31880 浏览

mysql - MySQL GROUP_CONCAT 转义

(注意:这个问题不是关于转义查询,而是关于转义结果)

我正在使用GROUP_CONCAT将多行组合成一个逗号分隔的列表。例如,假设我有两个(示例)表:

我想列出所有帖子以及对帖子发表评论的每个用户名的列表:

给我:

这很好用,除了如果用户名包含逗号,它将破坏用户列表。MySQL 是否有一个函数可以让我转义这些字符?(请假设用户名可以包含任何字符,因为这只是一个示例模式)

0 投票
3 回答
13712 浏览

mysql - MySQL 中 GROUP_CONCAT 和 Longtext 的问题

SQL...

如您所见,它将文章的所有页面(每个页面作为长文本存储在单独的行中)并 GROUP_CONCAT 将它们放入单个长文本行中。问题是结果只有这么多字符,然后它被完全截断,丢失了大约 90% 的内容。CONCAT 不能很好地处理长文本还是我做错了什么?

0 投票
1 回答
477 浏览

mysql - 使用 MEDIUMTEXT 和页面在 mySQL 中丢失数据

不知何故,GROUP_CONCAT 能够将一篇文章的六个“页面”(每页存储为 TEXT)并将它们折腾到一个单独的 MEDIUMTEXT 中而不会丢失任何数据,但是有些单页文章比正常的要长(但仍然明显适合在 TEXT 数据类型中)会丢失大量数据。有谁知道怎么回事?

原始查询:

再次感谢您花时间指导我无知的自己!

0 投票
5 回答
1650 浏览

sql - 使用 MS SQL Server 2005,如何将详细记录合并到一个逗号分隔的列表中

背景:**我正在运行 **MS2005。我有一个 MASTER 表(ID,MDESC)和一个 DETAIL 表(MID,DID,DDESC),数据如下

如果我加入表格

我得到如下列表:

问题: 有没有办法使用 MS SQL 选择语句将详细记录放入逗号分隔的列表中,如下所示:

0 投票
6 回答
34633 浏览

linq - 使用 LINQ 将多行连接成单行(CSV 属性)

我正在寻找与 Sybase 的 LIST() 或 MySQL 的 group_concat() 等效的 LINQ

它将转换:

到:

0 投票
7 回答
11304 浏览

sql - 将一对多关系显示为 2 列 - 1 个唯一行(ID 和逗号分隔列表)

我需要类似于这 2 个 SO 问题的内容,但使用 Informix SQL 语法。

我进来的数据是这样的:

我想看到它像这样回来:

另请参见Informix 中的 group_concat()

0 投票
2 回答
8786 浏览

sql - SQL GROUP_CONCAT + SUM + AVG

由于某种原因,总和和平均值不执行....你如何使这个语句起作用?