删除mysql中计数(*)为1的所有结果

删除mysql中计数(*)为1的所有结果,mysql,count,sql-delete,Mysql,Count,Sql Delete,我有一个包含引号及其作者的表,有些作者只有引号 现在我想删除其作者只存在一次的所有行 我尝试了许多解决方案,但都失败了: 这是我的代码: DELETE FROM `quotes` WHERE `qu_author` NOT IN (SELECT `qu_author` FROM `quotes` GROUP BY `qu_author`

我有一个包含引号及其作者的表,有些作者只有引号

现在我想删除其作者只存在一次的所有行

我尝试了许多解决方案,但都失败了:

这是我的代码:

DELETE  FROM `quotes` 
WHERE `qu_author` NOT IN (SELECT `qu_author` 
                          FROM `quotes` 
                          GROUP BY `qu_author` 
                          HAVING COUNT(*) > 1)
像这样?你是说?

以什么方式失败?错误?删除了错误的列?我在phpmyadmin上尝试了它,并且出现了此错误消息#1093-无法在中为更新指定目标表“引号”clause@eng.ahmed,检查上面的链接,您不能在子查询中引用您要从中删除的表,但我无法实现或理解此问题的解决方案您不理解的部分是什么?非常感谢:)。。它起作用了。。但我无法理解这段代码:(逻辑上与您的语句相同,只是使用了不同的语法来绕过限制。您是否有任何主题或链接可以向我说明此语法是否更容易理解?您可能对文档末尾注释前的语句语法感兴趣。