mysql 根据条件删除重复记录 只保留最小id的重复数据

DELETE
FROM
news
WHERE
news_id IN (
SELECT
a.news_id
FROM
(
SELECT
news_id
FROM
news
WHERE
flag = 1
GROUP BY
news_id
HAVING
count(news_id) > 1
) a
)
AND posid NOT IN (
SELECT
b.posid from (
SELECT
min(posid) as posid
FROM
news
where flag=1
GROUP BY
news_id
HAVING
count(news_id) > 1
) b
)

posted on 2016-11-16 22:08  ヽ坚强的蘑菇  阅读(146)  评论(0编辑  收藏  举报