假设我有一个表像这样集团通过相似的弦
| id_grupo | nombre |
|:---------|----------------:|
| 1 | Emprendedores 1 |
| 2 | Emprendedores 2 |
| 3 | Emprendedoras 1 |
| 4 | Emprendedoras 2 |
| 5 | Los amigos 1 |
| 6 | Los amigos 2 |
| 7 | Los amigos no 1 |
我想组由是平等的,但在不同数量的结束名。如果仔细观察,有两个或更多单词组成的名称,但不同之处在于结尾。也有类似的名字,但它们与“Los amigos”和“Los amigos no”不一样,它们属于不同的群体,“Emprendedores”和“Emprendedoras”也不同。
这是查询我:
SELECT *, GROUP_CONCAT(id_grupo)
FROM creabien_sacredi_dev.grupos
GROUP BY SUBSTRING(nombre,1,5)
它正常工作与大多数的记录但是问题就来与像例如字符串,这是非常相似的。我选择了一个包含5个字符的子字符串,但实际上名称的长度并不相同,所以某些字符串不能按预期工作。
如何将这些字符串按以下形式分组?
| id_grupo | nombre | GROUP_CONCAT(id_grupo) |
|:---------|----------------:|-----------------------:|
| 1 | Emprendedores 1 | 1,2 |
| 3 | Emprendedoras 1 | 3,4 |
| 5 | Los amigos 1 | 5,6 |
| 7 | Los amigos no 1 | 7 |
我认为关键是最后一个数字前面的字符串必须完全一样,但我不知道该怎么做。请问你能帮帮我吗?
编辑:
也有像“Emprendedores”记录,没有任何数字在年底,这也应与“Emprendedores 1”和“2 Emprendedores”进行分组。所以我认为这个数字不再是关键,实际上我怀疑是否存在将这些记录分组的方法。
他们是不一样的长度 - 但所需的长度总是比实际长度少一个字母,对? – Strawberry
是的,你说得对。我正在寻找这样的东西:Emprendedores 10但它不存在。所以实际上所有的记录都有一个字符超过了所需的长度 –