我想删除某个查询返回的所有记录,但我找不到一个正确的方法来做到这一点。然而,我尝试了DELETE FROM mytable WHERE EXISTS (subquery)
,它删除了表中的所有记录,而不是子查询选择的记录。如何删除子查询返回的所有记录?
我的子查询是这样的:
SELECT
MAX(columnA) as columnA,
-- 50 other columns
FROM myTable
GROUP BY
-- the 50 other columns above
having count(*) > 1;
这应该是很容易的,但我的心只是坚持现在。我很感激任何建议。
编辑:columnA不是唯一的(也即表中没有其他的列是全球唯一)
你需要一个相关子查询。 – jarlh