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

2018-04-27  本文已影响4人  架构飞毛腿

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

)

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

上一篇 下一篇

猜你喜欢

热点阅读