我的表中包含文本,我想以某种方式在不同的组中区分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
基本上我想将相似的单词分组到不同的小组
答案 0 :(得分:1)
请尝试以下方法:
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
我希望它可能会有所帮助。