assessment_id 是表seer_assessment的主键,以key和result_id分组筛选是否有重复数据,保留assessment_id较小的数据
DELETE
FROM
seer_assessment
WHERE
assessment_id IN (
SELECT
assessment_id
FROM
(
SELECT
assessment_id
FROM
seer_assessment
WHERE
(`key`, result_id) IN (
SELECT
`key`,
result_id
FROM
seer_assessment
GROUP BY
`key`,
result_id
HAVING
count(*) > 1
)
AND assessment_id NOT IN (
SELECT
min(assessment_id)
FROM
seer_assessment
GROUP BY
`key`,
result_id
HAVING
count(*) > 1
)
) AS tmpresult
)

本文介绍了一种使用SQL语句从seer_assessment表中删除重复记录的方法,通过复杂的子查询和分组操作,确保保留每个分组中assessment_id最小的记录。

4181

被折叠的 条评论
为什么被折叠?



