数据库某表数据重复,只保留其中一条

DELETE

FROM

table

WHERE

(user_id, survey_id) IN (

SELECT

*

FROM

(

SELECT

user_id,

survey_id

FROM

table

GROUP BY

user_id,

survey_id

HAVING

count(*) > 1

) tmp1

)

AND id NOT IN (

SELECT

*

FROM

(

SELECT

max(id)

FROM

table

GROUP BY

user_id,

survey_id

HAVING

count(*) > 1

) tmp2

)

子查询两条一定要用临时表,不然的话会报错

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容