--添加标识字段
alter table 表 add 标识字段 decimal(38,0) identity(1,1)
go--删除处理
delete 表
from 表 a left join(
select name,标识字段=min(标识字段) from 表 group by name --假设以name字段判断是否重复
)b on a.标识字段=b.标识字段
where b.标识字段 is null
go--完成后删除标识字段
alter table 表 drop column 标识字段
解决方案 »
- 急,求获取已存在的mssql数据库的逻辑文件名
- (高手请进)备份数据库
- 解决马上给分:关于得到所有数据库的用户表问题
- sum出来的价值的判断问题.
- SQL2000 Server可以在WinXP上安装和正常运行吗?回答有分,在线等
- 2个表连接问题
- 讨论: 在设计用户的操作权限时,是在数据库中建用户表,并加上各种权限字段好,还是直接用SQL Server数据库角色好呢?
- aq.executeQuery: [Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据
- 求助:显示其名称以"Cha"开头而且后跟字母i、o、u 之一的所有产品的列表
- 菜鸟的触发器问题-再线急等
- 关于赋值问题
- 为什么我格式化硬盘而且重新安装了系统再安装sqlserver2K 时候还出现“安装程序配置服务器失败。”
select 标识字段=identity(decimal(38,0),1,1),* into #t from 表
go--删除处理
delete #t
from 表 a left join(
select name,标识字段=min(标识字段) from #t group by name
)b on a.name=b.name and a.标识字段=b.标识字段
where b.标识字段 is null
go--删除处理完成后,删除临时表中的标识字段,方便数据导入
alter table #t drop column 标识字段
go--删除原表中的数据
truncate table 表 --这样速度够快,如果不能用这句,改为: delete 表
go--导回不重复的数据
insert into 表 select * from #t
go--删除处理的临时表
drop table #t