问题标签 [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 回答
2614 浏览

sql - MySQL - 选择 Concat 整行

如何连续选择和连接每个字段?

我想做类似的事情:

..但显然以上不起作用。有什么建议么?

0 投票
2 回答
1560 浏览

sql - GROUP_CONCAT 和 LEFT_JOIN 问题 - 并非所有行都返回

假设我的数据库方案如下:

如果我运行第一个查询以获取所有产品及其用户(如果有的话),我会得到:

对我来说看上去很好。现在,如果我想做同样的事情,除了我想每行有一个产品,并带有连接的用户名(如果有任何用户,否则为 NULL):

如果一个产品没有用户, GROUP_CONCAT 会阻止 mysql 为这个产品生成一行,即使有一个LEFT JOIN

  1. 这是预期的 MySQL 行为吗?
  2. 有什么方法可以使用 GROUP_CONCAT 或其他函数获得预期的输出?
0 投票
1 回答
665 浏览

java - 在 SQL 或 CODE 中更好地对聚合数据进行分组(就性能而言)

我想就通过连接字符串来制作聚合数据征求意见。如果我有一个列聚合但我想在聚合列中连接,那么在性能方面哪个更快?执行一个 SQL,然后在 CODE 中进行聚合。或者选择主要数据,然后一次查询一个。

例如:

该表在 COL_A_2 = COL_B_1 处连接,聚合列是 COL_B_2。

选项 1(执行一个 SQL)

然后在代码中,只需循环获取结果集并聚合 COL_B_1。(例如使用 Java)

选项 2(执行多个 SQL)

然后在代码中为每个选择(Ex Java)

我通常做选项 1,因为我认为进行多个 SQL 选择可能成本很高。但我不确定这一点。但是有没有另一种方法来做这种聚合。我已经在网上搜索过,并且在标准 SQL 中没有字符串连接聚合。另外,TableA 上的图示过于简化,通常 TableA 是多个表连接在一起的复杂查询,TableB 也是如此。

0 投票
2 回答
128 浏览

sql - Complicated query - help NEEDED!

really hope someone can help me on this one! I have 6 tables:

Products
prodid

Prodequipment
prodid
equipclassmain
equipclassor

Equipclasses
classid

Equipfunctions
equipid
classid

Equipment
equipid

Workshopequipment
workshopid
equipid

Products – a list of some products
Equipment – a list of some equipment
Prodequipment – lists what equipment is needed to do a product. You can use equipment listed in equipclassmain or replace it by equipment in equipclassor. Table Products has one to many relation to table Prodequipment, i.e. you will use many different tools (equipment) to produce one product, but you can choose to use anyone in the pair equipclassmain/equipclassor. For instance to frame a photo you can use a wooden frame or plastic frame (one pair) and a cover glass or cover plastic (second pair). You can combine it as you wish, but both pairs should be used: wooden frame with cover glass or plastic frame with cover glass or wooden frame with plastic cover or plastic frame with plastic cover.
Equipfunctions and Equipclasses – Because one piece of equipment can be used in different ways it is not linked directly to table Prodequipment. I have created table Equipclasses where all single use of every possible equipment is listed and table Equipfunctions where I list those single uses for every equipment.
Workshopequipment – lists workshops and equipment they are using.

Now I need a list of products which can be manufactured by two different given workshops (let's say workshopid = 1 and workshopid = 4), i.e. both those workshops have all equipment needed to produce those products. Bear in mind that those workhops don't have to use the same equipment to do so as I described above.

I'm trying with this query:

But I get an "Column classid in field list is ambiguous". Any idea what's wrong here?

THANK YOU!

0 投票
3 回答
22030 浏览

sqlite - Sqlite group_concat 排序

在 Sqlite 我可以使用 group_concat 来做:

但连接的顺序是随机的 - 根据文档。

我需要将 group_concat 的输出排序为

我怎样才能做到这一点?

0 投票
2 回答
2234 浏览

sql - Sqlite group_concat 选择“特殊需要”

我知道如何将 group_concat 与 Sqlite 一起使用,以执行以下操作:

select id, f1, group_concat(f2), f3 from table group by f1

如您所见,ID 的 1 和 3 被丢弃,这是预期的行为。但我需要:

所以,每条记录都返回,另一个字段(f3)用 group_concat 更新

知道如何在 Sqlite 中做到这一点吗?

谢谢

0 投票
5 回答
371 浏览

mysql - MYSQL 选择具有特定技能的用户

到目前为止,我正在处理我做过的最复杂的 SQL 查询,这对你们大多数人来说可能非常简单(:

我有三个表,用户、技能和 User_Skills。其中的领域应该是相当不言自明的。

我想选择具有一项或多项技能且符合我的标准的人。

我可以选择具有我所追求的技能的用户,但我不确定查询多个技能的语法。

我只想使用一个查询,所以我尝试使用 GROUP_CONCAT

这是我的 SQL:


如何将搜索限制为仅具有技能 5 和 9 的人?

0 投票
1 回答
711 浏览

sql - 合并3NF mysql表中多行的内容

在尽职尽责地规范化了我的所有数据后,我在将 3NF 行组合成单行以进行输出时遇到了问题。到目前为止,我一直在使用服务器端编码进行此操作,但由于各种原因,我现在需要选择与另一行相关的所有行,并将它们组合成一行,全部在 MySQL 中......

所以试着解释一下:

我有三张桌子。

  • 类别
  • 文章
  • 分类文章_3NF

类别包含CategoryID + 标题、描述等。它可以包含 Articles 表中的任意数量的文章,由ArticleID + 用于容纳内容的文本字段组成。CategoryArticles表用于链接两者,因此同时包含CategoryIDArticleID

现在,如果我选择一个类别记录,并通过链接 CategoryArticles_3NF 表加入文章表,则结果是该类别中包含的每篇文章的单独行。问题是我想为每个类别输出一行,其中包含所有文章的内容。

如果这听起来像一个荒谬的要求,那是因为它是。我只是使用文章作为描述问题的好方法。我的数据实际上有些不同。

无论如何 - 我能看到实现这一点的唯一方法是使用“ GROUP_CONCAT ”语句将内容字段组合在一起 - 问题是它可以返回多少数据是有限的,我需要它能够处理更多。

谁能告诉我该怎么做?

谢谢。

0 投票
7 回答
36402 浏览

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

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

查询是

(两个字段都是无符号整数,都不是唯一的)

我应该添加什么才能看到实际结果?

0 投票
3 回答
23281 浏览

mysql - 如何在 group_concat() 中使用 sum()?

问题已修改

真的想要一个 group_concat 的总和......

表:商店

表:项目

我似乎无法让 group_concat 获取结果 #1 中的总列

提前致谢