如何快速删除数据库中的重复数据。。。

malaluka 2016-11-16 05:19:28
如何快速删除数据库中的重复数据。。目前我一直在用的都是需要重新把不重复的数据读进一个新的数据库。。但是感觉很费时间。。如下:
select * into user2
(select *,row_number() over(partition by 标识,网址 order by 标识) as rownum
from user)
where rownum=1

本来想尝试用delete直接在数据库中删除,但是没有成功。。。。因为需要新生成的判断是否重复的变量rownum在原数据库是不存在的。。。
delete from
(select *,row_number() over(partition by 标识,网址 order by 标识) as rownum
from user)
where rownum=1

是否有什么好的方法,在原数据库中直接剔除重复数据。。。拜谢
...全文
160 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-11-16
  • 打赏
  • 举报
回复
你这语句问题真不少,关健字user没加转义[],会直接报错
中国风 2016-11-16
  • 打赏
  • 举报
回复
少了别名,定义一下就行了
delete a FROM 
(select *,row_number() over(partition by 标识,网址 order by 标识) as rownum
from [user]) AS a
where rownum>1
malaluka 2016-11-16
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
delete from (select *,row_number() over(partition by 标识,网址 order by 标识) as rownum from user) where rownum>1 ----------------条件改改,用这方法就行了
还是不可以的。。。是不是delete from后面只能跟一个table名称,不能跟select语句的
中国风 2016-11-16
  • 打赏
  • 举报
回复
delete from (select *,row_number() over(partition by 标识,网址 order by 标识) as rownum from user) where rownum>1 ----------------条件改改,用这方法就行了

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧