mysql - 在 mySql 中找到类似的条目

标签 mysql database duplicates

我试图在我的 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,如何提取这些条目?

数据库表

enter image description here

  • 在上图中我们可以看到数据 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/

相关文章:

mysql - Docker搭建mysql数据库环境

mysql - 无法在搜索过滤器查询中找到所需的结果

python - Pandas Dataframe 根据具有相等值的两列删除行

php - 如何在包含记录的 MySQL 中为现有表创建唯一索引

mysql - 在 MySQL 中获取未提交的数据

php - 在 CSV 和 TXT 上验证标题

mysql - 自增主键的整数溢出会发生什么?

PHP 按空格分割搜索栏关键词

mysql - 带前缀的高级 MySQL 字母排序?

c++ - 根据数组中的字符串检查从文件中读入的单词