Hello! 欢迎来到小浪云!


如何删除数据库中特定列为空且重复字段组合相同的行?


avatar
小浪云 2024-11-09 162

如何删除数据库中特定列为空且重复字段组合相同的行?

删除数据库中重复字段且特定列为空的行

数据库中删除重复字段且特定列为空的行,可使用以下查询语句:

DELETE FROM datas WHERE pid IS NULL AND (credit, company, name, phone, id) IN (     SELECT credit, company, name, phone, id     FROM datas     WHERE pid IS NOT NULL );
登录后复制

查询说明:

  • datas 为目标表。
  • pid 为待检查的特定列。
  • (credit, company, name, phone, id) 为重复字段组合。

删除过程:

  1. 该查询首先从 datas 表中选择所有 pid 为 null 的行。
  2. 然后,它从子查询中选择所有 pid 不为 null 的行的重复字段组合(credit、company、name、phone、id)。
  3. 通过将主查询中的行与子查询中返回的值进行匹配,该查询标识出需要删除的行。
  4. 它仅删除那些 pid 为 null 并且具有与子查询中返回的值相同的重复字段组合的行。

这样做可以删除具有相同重复字段组合但 pid 为 null 的行,同时保留具有相同重复字段组合但 pid 不为 null 的行。

相关阅读