繁体   English   中英

将所有相似的文本分组到不同的组中

[英]Group all similiar text into different groups

我的表中有文本,我想以某种方式区分可以通过LIKE查询找到的文本。 例如,我有

blabla
a1aaaa
bla
lab
aaa
a1
c25

我想获得以下结果或类似的内容,可以在脚本中轻松使用。

blabla 1
bla    1
lab     1
a1aaaa 2
aaa    2
a1     2
c25    3

这是情况

bla IS NOT LIKE '%blabla%'
lab IS NOT LIKE '%blabla%'
blabla IS LIKE '%bla%' So it should go into one group
lab IS NOT LIKE '%bla'
blabla IS LIKE '%lab' Lab should be added to the first created group

基本上我想将相似的单词归为不同的组

请尝试以下操作:

SELECT DISTINCT
    A.text_col AS `group_name`, 
    B.text_col AS `member`
FROM
    text_table AS A
    INNER JOIN text_table AS B
        ON A.text_col LIKE concat( '%', B.text_col, '%')

根据您的示例数据,它应该为您提供:

group_name |  member
-------------------------------------
blabla        blabla 
blabla        bla 
blabla        lab 
a1aaaa        a1aaaa
a1aaaa        aaa 
a1aaaa        a1  
c25           c25

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM