我试图在我的 sql 表中找到重复的条目,我通过以下查询很容易地实现了这一点。
SELECT * FROM sds_bank_phrases INNER JOIN (Select bank_statement FROM sds_bank_phrases GROUP BY bank_statement HAVING COUNT(bank_statement) > 1) dup ON sds_bank_phrases.bank_statement = dup.bank_statement;
- 现在我要查找的是具有相同数据但额外添加了句号的条目。
- 例如有 bank_id 1 和 bank_statement 是
- bank_id 2 和 bank_statement 是。
- bank_id 3 是的,已被编辑。
- 所以从上面的例子中我只想提取第一个两个条目,因为它们是关闭一次。只是句号是不同的。
- 我有 20000 个 bank_statements,如何提取这些条目?
数据库表
- 在上图中我们可以看到数据 Not known 有重复的条目。
- 发布的查询可以找到 ID 为 1274、1353、1418、2455、3026 的所有条目,但找不到 5637。
- 因为该条目中有一个句号。这不被认为是重复的。
- 预期的结果是引入 Not known as well。
- 它应该忽略 ID 为 2787 的 ban_statement,因为 bank_statement 不同。
最佳答案
您可以使用 TRIM(TRAILING ‘.’ FROM your_column);
SELECT *
FROM sds_bank_phrases
INNER JOIN (Select TRIM( TRAILING '.' FROM bank_statement ) as clean_bank_statement
FROM sds_bank_phrases GROUP BY bank_statement HAVING COUNT(TRIM( TRAILING '.' FROM bank_statement )) > 1) dup
ON TRIM( TRAILING '.' FROM sds_bank_phrases.bank_statement ) = dup.clean_bank_statement;
关于mysql - 在 mySql 中找到类似的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42225647/