下面是我的查询,它返回我想从表中删除的结果。
SELECT *
FROM tableA
GROUP BY id
HAVING COUNT(*) > 5
如何删除此查询中显示的记录?我正在考虑使用这个 DELETE
查询。
DELETE FROM tableA
WHERE
(SELECT *
FROM tableA
GROUP BY id
HAVING COUNT(*) > 5)
但这似乎不起作用。
答案 0 :(得分:2)
您可以使用in
:
delete from tableA
where id in (select id from tableA group by id having count(*) > 5)
答案 1 :(得分:1)
在这种情况下,您可能需要执行以下操作:
DELETE from tableA
where [id] IN
(SELECT [id] from tableA
group by id
having count(*) > 5)