问题标签 [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 投票
2 回答
5741 浏览

mysql - mysql GROUP_CONCAT

我想列出所有用户及其 corropsonding 用户类。这是我的表格的简化版本

这是我尝试使用的查询语句,但只返回第一个匹配的用户类,而不是希望的串联列表。

实际输出

想要的输出

提前致谢

0 投票
2 回答
225 浏览

sql - 具有多个连接的 SQL 分组不正确地组合结果

嗨,我的查询在不应该合并记录时遇到问题。

我有两个表作者和出版物,它们通过出版物 ID 以多对多关系相关。因为每个作者可以有很多出版物,每个出版物都有很多作者。我希望我的查询返回一组作者的每篇出版物,并包括对分组到一个字段中的出版物做出贡献的每个其他作者的 ID。(我正在使用 mySQL)

我试图在下面以图形方式描绘它

我希望我的结果集如下

这是我的查询

但它返回以下内容

当 where 语句中只有一个 AuhorID 时,它确实提供了所需的输出。我一直无法弄清楚,有谁知道我哪里出错了?

0 投票
8 回答
202691 浏览

sql - Postgresql GROUP_CONCAT 等效?

我有一张表,我想为每个 id 拉一行,并连接字段值。

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

我想输出:

在 MySQL 中,我能够使用聚合函数GROUP_CONCAT,但这似乎在这里不起作用...... PostgreSQL 是否有等价物,或者其他方式来完成这个?

0 投票
7 回答
310858 浏览

mysql - MySQL 和 GROUP_CONCAT() 最大长度

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

我很清楚我可以更改参数group_concat_max_len以增加此限制:

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

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

0 投票
1 回答
534 浏览

mysql - 查询以返回单行,其中多个项目位于行内的不同列中

我有一种情况,我返回多行的结果。我正在寻找一种返回单行的方法,该行中的多个项目位于不同的列中。我最初的查询:

我的输出:

我的表架构...

我真的很想得到类似的东西:

0 投票
1 回答
1240 浏览

sql - MySQL GROUP_CONCAT + IN() = 缺失数据:-(

例子:

表:盒子

表:boxHas

我想查询每个盒子的内容,并返回一个包含每个 ID、颜色和连接每个盒子内容的列的表,所以我使用:

SELECT box.boxID, box.color,
GROUP_CONCAT(DISTINCT boxHas.has SEPARATOR ", ") AS contents
FROM box
LEFT JOIN boxHas ON box.boxID=boxHas.boxID
WHERE boxHas.has IN ('apple','pear')
GROUP BY box.boxID
ORDER BY box.boxID

我得到以下结果表:

我的问题是:为什么不列出列has中的所有值contents?为什么我的WHERE声明也裁剪了我的GROUP_CONCAT

我想我会得到的桌子是:

虽然我想boxID根据WHERE语句限制我的结果,但我不想限制contents有效框的字段。:-/

帮助?

0 投票
1 回答
241 浏览

php - MySQL SELECT 语句按 id 分组结果?

我正在尝试创建一个 MySQL SELECT 语句,该语句将从表中选择一堆行,并将按行的 id 对结果进行分组(多行将具有相同的 id)。

这是我正在尝试做的一个例子。假设我有下表:

我想让 MySQL 返回按 id 分组的数据,如下所示:

我知道我可以做一个简单的 SQL 选择,然后在 PHP 中循环结果,但如果可能的话,我想让 MySQL 处理分组。

0 投票
2 回答
1060 浏览

sql - 用于合并行的 SQL 选择查询

我有一个 MySQL 数据库:

需要一个将返回的 SQL 查询

我怎样才能做到这一点?

0 投票
3 回答
72823 浏览

sql - 将一行连接到另一个表中的多行

我有一张实体表(让我们称他们为人)和属性(一个人可以拥有任意数量的属性)。前任:

人们

特性

我想编写一个有效的选择,根据年龄选择人并返回他们的全部或部分属性。

返回属性之一和总属性计数也是可以接受的。

查询应该是高效的:人表中有数百万行,属性表中有数十万行(所以大多数人没有属性)。一次选择数百行。

有什么办法吗?

0 投票
1 回答
1699 浏览

sql - 将多个结果合并到一个字段中的子查询?

假设我有这些表,我需要从中在浏览器中显示搜索结果:

我需要如下所示的输出:

重要的部分是每个项目类型在屏幕上的返回中仅获得一条记录/行。我过去通过返回多行相同的项目并使用脚本语言来限制输出来实现这一点。然而,这使得 ui 过于复杂和循环。所以,我希望我能让数据库只吐出与要显示的行一样多的记录。

这个例子可能有点极端,因为从 item 到容器需要 2 个连接(通过 sale 表)。

我很高兴只是一个输出这个的示例查询:

我只能在子查询中返回一个结果,所以我不知道该怎么做。