前言:
having子句只用在分组查询(group by)条件下,用作分组查询结果的条件过滤
去除重复数据,只保留一条重复的数据
DELETE
FROM
`user`
WHERE
name IN (
SELECT
name
FROM
(
SELECT
name
FROM
`user`
GROUP BY
name
HAVING
count(name) > 1
) a
)
AND id NOT IN (
SELECT
min(cid)
FROM
(
SELECT
min(id) AS cid
FROM
`user`
GROUP BY
name
HAVING
count(name) > 1
) b
);