如何在多个条件下删除 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 提示:
- 在以后的问题中包括您正在使用的 SQL 服务器
- 包括您收到的错误消息
我有一个 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 提示:
- 在以后的问题中包括您正在使用的 SQL 服务器
- 包括您收到的错误消息