大家好。sql不强,但是需要删除所有的记录副本,除了第一个,Name是一样的。
我正在尝试通过以下方式做到这一点:
DELETE FROM Login
WHERE Name NOT IN (SELECT max(Name) FROM Login GROUP BY Name HAVING
count(Name)>1)
但我收到一个错误
You can't specify target table 'Login' for update in FROM clause
我试图通过类比如何使用带有子查询的查询删除 SQL 记录?
但是什么也没发生。
大概是这样的:
DELETE FROM Login
WHERE Name NOT IN (
(SELECT tempT.Login
FROM (SELECT Name WHERE Name NOT IN (SELECT max(Name) FROM Login GROUP BY Name HAVING count(Name) > 1))
AS tempT)
)
我在这里尝试了很多选择。请帮忙。
对于相同的记录,我们
Name
只留下最大值的记录id
:我们需要一个最小值 - 更改比较的符号。