gpt4 book ai didi

mysql - 如何仅通过连接表列与 Doctrine 进行分组?

转载 作者:行者123 更新时间:2023-11-29 15:39:06 24 4
gpt4 key购买 nike

我有一个连接表:

table1_id|table2_id
1|1
1|2
2|1
2|2
3|1

我需要选择按 table2 分组的行。但我需要特殊的分组。在结果行中我想看到以下内容:

table1.id|grouped
1,2|1,2
3|1

我尝试了不同的方法。

  • 从 table1 中选择并按 table2.id 分组。失败 - MySql 要求查询也对我的主表进行分组。
  • 从 table2 中选择并按 table1.id 和 table2.id 分组。失败 - 它分别从 table2 中选择行,我希望将它们连接起来,如示例中所示。
  • 从 table1 中选择并按group_concat(table2.id)分组。但MySql不允许通过聚合函数进行分组。

我的示例查询:http://sqlfiddle.com/#!9/934b64/4 。我需要几乎相同的内容,但是这样它将包含一行值:

1,2|1,2
3|1

最佳答案

你就快到了。

您需要在 SELECT 子句中使用 GROUP_CONCAT,而不是在 GROUP BY 子句中。

SELECT table1_id,GROUP_CONCAT(table2_id) as grouped
FROM table
GROUP BY table1_id;

查看SQL Fiddle中的结果

根据您的要求,请尝试以下查询:

select t1.id,t1.value, 
group_concat(t2.id) as grouped_ids,
group_concat(t2.value) as grouped_values
from table1 t1
join joined_table jt on jt.id1 = t1.id
join table2 t2 on t2.id = jt.id2
group by t1.id,t1.value

结果为SQL Fiddle

关于mysql - 如何仅通过连接表列与 Doctrine 进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com