MySQL-如果与另一行相似,则从TEXT字段中删除行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-如果与另一行相似,则从TEXT字段中删除行相关的知识,希望对你有一定的参考价值。
我有一些文本字段,其值类似于:
`FOO` is <1.23
`BAR` is <1.23
并且我想删除'FOO'行,但是仅当'BAR'存在且具有相同的值(在这种情况下为'<1.23')时-有什么建议吗?
请注意,'FOO'和'BAR'是恒定的-即,我从不寻找具有匹配值的'BING'和'BONG'-它始终是'FOO'和'BAR'。
最后注释-字段中可能在目标值之前,之后或中间还有其他行。
只需澄清-这些值不是两个单独的行-它们是一行中文本字段中的多行值,因此需要更新,而不是删除。
答案
尝试以下删除语句:
DELETE
FROM yourTable t1
WHERE
field LIKE '%`FOO`%' AND
EXISTS (SELECT 1 FROM yourTable t2
WHERE REPLACE(t2.field, 'BAR', 'FOO') = t1.field);
以上是关于MySQL-如果与另一行相似,则从TEXT字段中删除行的主要内容,如果未能解决你的问题,请参考以下文章
python - Pandas - FillNa 与另一个具有相似列的非空行