gpt4 book ai didi

mysql - 在 MySQL 中查找组组

转载 作者:行者123 更新时间:2023-11-30 21:31:37 25 4
gpt4 key购买 nike

我试图根据以下逻辑对 MySQL 中的一些记录进行分组:每条记录可以属于两个组(Group1 和/或 Group2)。他们可以属于 1 个、2 个或不属于任何组。

我需要的是识别至少有一个共同组的所有记录并创建最终组。

例如,Record1 和 Record3 有共同的“D”,Record2 和 Record3 有共同的“C”,因此 Record1、Record2 和 Record3 必须属于同一组(如最终组列中所示)。

知道如何创建最终组吗?

谢谢!

PS:1)Group1和Group2包含字符串值。
PS:2)Final Group采用哪个潜在值并不重要。例如,对于Record1、Record2和Record3,Final Group可以是“A”、“B”、“C”或“D”……这四个中的哪一个都无所谓,只要是其中之一即可.

+---------+----------+----------+-------------+  
| Record | Group1 | Group2 | Final Group |
+---------+----------+----------+-------------+
| Record1 | B | D | B |
| Record2 | A | C | B |
| Record3 | C | D | B |
| Record4 | E | F | E |
| Record5 | F | F | E |
| Record6 | M | N | M |
| Record7 | X | Y | X |
+---------+----------+----------+-------------+

最佳答案

你可以从这里开始

SELECT DISTINCT
r1.Record,
r1.Group1,
r1.Group2
FROM
`records` r1
INNER JOIN
`records` r2
ON
r1.Group1 = r2.Group1 OR r1.Group1 = r2.Group2 OR r1.Group2 = r2.Group1 OR r1.Group2 = r2.Group2
ORDER BY
r1.Record ASC

并以编程方式计算最终组

关于mysql - 在 MySQL 中查找组组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890293/

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