我想快速删除数据库里面的重复项这个语法如何写

我想快速删除数据库里面的重复项这个语法如何写

select  danhao from  kehudingdan  group by danhao  having COUNT(danhao)>2 

里面有600个,一个一个的删除有点难,能否有快速的办法删除重复项

金色年华 发布于 2022-2-19 10:20
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
twsheLv6初级互助
发布于2022-2-19 10:45(编辑于 2022-2-19 10:58)

要删除重复,保留其中一条,要给条件判断保留哪一条,加个条件吧。

比如:

and rowid not in (select min(rowid) from kehudingdan group by danhao,seq having count(*)>1)   

楼主也太小气了。。

image.png

  • 金色年华 金色年华(提问者) delete from kehudingdan where danhao in (select danhao from kehudingdan group by danhao having count(danhao) > 1) and kehudingdanid not in (select MIN(kehudingdanid) from kehudingdan group by danhao having count(danhao) > 1)
    2022-02-19 10:53 
  • 金色年华 金色年华(提问者) 这个是官方自动的,我这边不知道如何改
    2022-02-21 11:38 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-19 10:22

delete from kehudingdan where ddanhao in(

select  danhao from  kehudingdan  group by danhao  having COUNT(danhao)>2 )

  • 金色年华 金色年华(提问者) 这个语法不对,我需要留一条,你这个是把所有的都删除了
    2022-02-19 10:28 
  • 3关注人数
  • 319浏览人数
  • 最后回答于:2022-2-19 10:58
    请选择关闭问题的原因
    确定 取消
    返回顶部