[英]How do I delete the duplicates this complex query selects?
I would like to delete the entire row for ALL of the duplicates this query finds. 我想删除此查询找到的所有重复项的整个行。 I do not wish to leave a single record. 我不想留下任何记录。 How do I add the delete row syntax to this complicated query? 如何在此复杂的查询中添加删除行语法?
SELECT u.id, u.School, u.Mascot, u.City, u.State
FROM TABLE u
INNER JOIN
(
SELECT Mascot, City, State, COUNT(*)
FROM tablename
GROUP BY Mascot, City, State
HAVING COUNT(*) > 1
) temp
ON temp.Mascot = u.Mascot AND
temp.City = u.City AND
temp.State = u.State
ORDER BY
Mascot, City, State;
Try grouping and then retaining only those groups having a count of 1: 尝试分组,然后仅保留计数为1的那些组:
SELECT
u.id, u.School, u.Mascot, u.City, u.State
FROM TABLE u
INNER JOIN
(
SELECT Mascot, City, State, COUNT(*)
FROM tablename
GROUP BY Mascot, City, State
HAVING COUNT(*) > 1
) temp
ON temp.Mascot = u.Mascot AND
temp.City = u.City AND
temp.State = u.State
GROUP BY
u.id, u.School, u.Mascot, u.City, u.State
HAVING
COUNT(*) = 1
ORDER BY
Mascot, City, State;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.