Python SQL:查找多行之间最长的公共字符串

Python SQL:查找多行之间最长的公共字符串,python,sql,string,amazon-redshift,Python,Sql,String,Amazon Redshift,这个问题是基于我问的,但我没有解释清楚,所以我会再试一次。 我有t1表: Col1 | Col2 -------|---------------- 1 | THE APPLE 123 1 | BEST THE APPLE 1 | THE APPLE 5/89 2 | BEST TASTY BANANAS 2 | BEST TASTY BANANAS 42/7 2 | THE BEST TASTY BANANAS 我要t2: C

这个问题是基于我问的,但我没有解释清楚,所以我会再试一次。 我有t1表:

Col1   |   Col2
-------|----------------
 1     | THE APPLE 123
 1     | BEST THE APPLE
 1     | THE APPLE 5/89
 2     | BEST TASTY BANANAS
 2     | BEST TASTY BANANAS 42/7
 2     | THE BEST TASTY BANANAS
我要t2:

Col1    |  Col2
-----------------------------
 1      |  THE APPLE
 2      | BEST TASTY BANANAS

我的整张桌子有30000条记录。在任何情况下,我都不需要比较超过21条记录。Col2是varchar(100)。我用的是红移。我意识到这是一个困难的问题,有没有办法将数据从红移中取出,并在Python之类的东西中使用某种模糊字符串匹配?谢谢。

评论太长了

在SQL中,要进行的处理非常困难。您必须编写自己的聚合函数来处理昂贵且不明显的字符串操作

您可以用Python完成这项工作,但工作量仍然大致相同

对于SQL,问题在于数据的格式。为了找到最长的匹配子字符串,每个字符或单词确实需要一行。即使使用这种表示法,也很困难,特别是对于长字符串。我认为这在基因组学中很有用,字符串编码可能有几十或几十万个字符长


我的建议是考虑如何用Python或Java等语言从算法上解决这个问题。如果你搜索,可能有一个内置的图书馆在某处这样做。然而,我对此表示怀疑。您可能会发现一个用于两个字符串的例程,但对于多个字符串,问题就更难了。

您尝试了什么,以及您的尝试是如何失败的?您承诺会清楚地解释它,但不解释任何内容。