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

mysql - 组连接查询问题

我知道这可能无法回答,但我试图弄清楚为什么查询返回 0 结果。

返回 0 个结果。

但,

返回:

0 投票
1 回答
939 浏览

mysql - 带有附加分组的 GROUP_CONCAT?

我已经开始编写一个脚本来生成有关特定文章被调用的频率和时间的统计信息

产生

好东西。但是如何添加类似于日期的字段,该字段添加按 date_created 分组的 id 细分,从而创建如下内容:

我想在这些方面添加一个额外的 GROUP BY:

但它不起作用,我该如何解决这个问题?

倾倒:

0 投票
1 回答
320 浏览

php - Ordering by using Group_Concat proving tricky

I'm somewhat new with php/mysql so I'm sure I'm missing something. This approach probably isn't the best either.

I have the following tables

Table: unit_members Fields: id, unit_id, person_id, primary

Table: persons Fields: id, name, rank_id

Table: ranks Fields: id, name, rank

Table: units Fields: id, name, rank

I'm trying to display each unit and the persons in each unit and have the persons sorted by rank which is an int field. It seems simple, but I'm unable to get the persons to be ordered by rank.rank.

Here's my query:

It appears to me that the Order by here does not affect the Group_Concat, so my guess is I need to Order the Group_Concat somehow before it goes into an array. The array seems to order it by person id.

Any help would be greatly appreciated. Thanks in advance.

0 投票
2 回答
200 浏览

mysql - 按 X 或 Y 分组?

我试图弄清楚如何GROUP BY在多个列上。我想在 SSN地址匹配时对项目进行分组。例如,这里有三个记录:

这就是我想要的结果:

有什么建议么?

0 投票
2 回答
236 浏览

mysql - MySQl 合并条件为真的行

我花了几天时间试图以有限的成功解决这个问题,我确信有一个简单的答案,但尽管进行了大量研究,但到目前为止还没有运气,我担心问题是我有限的 SQL 知识。

我有 3 张桌子。订单、订单产品和订单产品属性。

我正在尝试返回给定订单的结果表,显示所有匹配的 orders_products,并合并该产品存在的 orders_products_attributes 行(有时没有属性)

我必须到这里:

这将返回以下结果:

我正在尝试合并 ItemNumber 相同的行,将它们存在的 OptionCodes 和 OptionNames 合并为:

我一直在尝试 GROUP_CONCAT 这些但仅成功合并所有 3 行。

对不起,如果我动作慢,但我似乎无法从这里继续前进。

TIA,安德鲁

0 投票
1 回答
1249 浏览

mysql - 查看带有标签和 GROUP_CONCAT 的产品

我在我的应用程序上使用 Sphinx 进行全文搜索。我使用 aview过滤products表中的数据,Sphinx 为该视图编制索引。现在我在产品表下有一个带有相关标签的硬编码字段,但这并不好,因为标签可能会改变,我每次都必须操作硬编码字段。

所以我想我可以用 GROUP_CONCAT 创建视图,用这样的语法为我列出所有相关的标签:

这个查询的问题是它需要很长时间才能运行。它真的很慢。要仅检索一条记录,最多需要 5 秒。这是EXPLAIN输出:

我想知道是否有任何方法可以改进查询或者更好地解决我的问题。谢谢!

0 投票
1 回答
3712 浏览

mysql - MySQL:选择 GROUP_CONCAT 函数返回的第一项

我有一个group_concat从一列返回所有字符串。字符串可以是可变长度的。如何选择返回的第一个字符串group_concat(其中“第一个”由group_concat 排序子句定义)?


这是一个简化的例子。从蔬菜表中选择每种蔬菜类型中最便宜的蔬菜。

从此表:

选择这个:

我笨拙的尝试:

所以对于根蔬菜类型,“GROUP_CONCAT”将返回“萝卜,胡萝卜”。然后定位找到第一个逗号。然后 substring 返回该逗号之前的所有字符。所以“selectedVeg”等于“萝卜”。

我添加了一个CONCAT以确保始终有一个逗号可供LOCATE查找。

这似乎不是很有效,因为GROUP_CONCAT必须运行两次(这在我的实际问题中非常复杂)。

谢谢。

0 投票
4 回答
10606 浏览

mysql - MySQL:使用 JOIN 和 GROUP_CONCAT 进行更新

这可能吗?

我有 2 张桌子,客户和订单。现在我想用该客户的所有订单 ID(逗号分隔)填充客户中的一列。

我尝试过这样的事情,但它不起作用:

我得到'无效使用组功能'。

PS。我知道最好总是在 SELECT/JOIN 中动态获取 GROUP_CONCAT 值,但我只是想知道是否可以以某种方式填充此列。

0 投票
2 回答
1821 浏览

php - 有没有人发现限制 group_concat 行的(简单)方法?

我有一个相当大的查询要从每个国家/地区提取有关报告的信息,而现在,我可以限制它的唯一方法是Limit 10在末尾放置或一些数字,这将限制国家/地区。但是,我想要做的是将group_concat每个国家/地区的结果限制为 10 个,在我的情况下,这会以某种方式将每个单词的实例限制为 10 个group_concat

我目前的查询是:

我看过这个问题,但我还没有看到任何真正好的答案。我知道该功能没有内置在 MySQL 中,因为您只能根据字符进行限制。以前有人解决过这个问题吗?

0 投票
1 回答
731 浏览

mysql - MySQL - 在计算中使用 GROUP_CONCAT 值?

我正在尝试创建一个查询,该查询将在从初始值中扣除一些折扣后给我一个产品的值。

这是我到目前为止的简化版本:

其中 discounts.amount 是十进制值。

编辑:例如,如果有两个对应的折扣分别为 10 和 15,并且初始产品价格为 50,则计算将返回 25

无论如何,在查询中我可以执行我想要的计算吗?

任何建议将不胜感激。

谢谢。