alter table tablename add id int identity(1,1)
delete * 
from tablename t 
where id not in (select min(id) from tablename group by 公司名) ---or
alter table tablename add id int identity(1,1)
delete *
from tablename t
where id exists(select 1 from tablename t2 where t2.id>t.id and t2.公司名=t.公司名)
 

解决方案 »

  1.   

    --如果有公司名重复的数据,那其他的数据也重复吗?如果不重复,删除哪一条?留下哪一条呢?--查询公司名重复的记录.select 公司名,数量=count(*) from 表 group by 公司名
      having 数量>1--group by 的用法:group by 后边的字段必须在select里边出现,而且select里除了group by 后边的字段外,只能是汇总字段了.如:sum,avg等.
      

  2.   

    --你可以用临时表的方法来实现  select distinct * into #t from 表  delete from 表  insert into 表 select * from #t