如何在多个条件下删除 SQL

How to DELETE in SQL with multiple conditions

我有一个 table,其中有一列名为 name_of,我在这个 table 中有很多重复项,我有一些 python 代码,这需要全部重复项,然后将它们连接到 SQL 查询中。但是我试了一段时间都没有成功。

TableName = users_from_group

Column = name_of

我尝试了以下 sql 查询:

DELETE FROM users_from_group
WHERE name_of = ('AskeMeyer'), ('testuser'), ('AskeMeyer'), ('testuser'), ('testuser'), ('AskeMeyer')

而且我不明白为什么这不起作用,因为这是用于查询添加到 table?

中的数据格式

最好的方法是:

DELETE FROM users_from_group
WHERE name_of IN ('AskeMeyer', 'testuser', 'AskeMeyer', 'testuser', 'testuser', 'AskeMeyer')

如果这对您有用,请标记为已解决。 干杯

如@jarlh 所述,您可能不想删除所有包含这些 name_of 的记录。我猜你想各保留 1 个?

此方案的最佳做法是按照“删除重复行”模式在 SQL 中完成所有工作。有几种方法可以做到这一点,您使用的 SQL 版本可能很重要,但 this question 是一个起点。

此外,还有一些 S/O 提示:

  1. 在以后的问题中包括您正在使用的 SQL 服务器
  2. 包括您收到的错误消息