小雨点点789 发表于 2016-10-30 07:55:52

SQL Server去掉重复行

  在Sql Server中去掉重复行的方法,网上查了很多,可是自己太笨了只有一个实验成功了。
  我的项目要求:
  现在有两个表A、B,A里面有重复的记录,B是一个空表,表结构与A是一样的,要求将A表里面重复行去掉,并Copy到B表中;
  那么我的实现步骤如下:
  

insert into B
select id,,bookname,word,speech,features from A
where id in(
select max(id) from B group by ,bookName,word
)
  
 这样就将A表里面重复行去掉了;where后面的意思就是去掉重复的行,只取重复行中的一行,而且选择ID为最大的。
  
  下面是我查到的另一种方法:
  (如果有唯一标识列)
  

delete table
from table a
where exists(select 1 from table where a.name = name and a.pwd = pwd and a.id < id)
  table为要操作的表名
  还有一种方法是:
  

select distinct * from yourTable
  最后总结一下:
  像    insert into 表名 select ......
  这样的句子,是将一个表Copy到另一个与之表结构相同的表中。 
  

  
  
页: [1]
查看完整版本: SQL Server去掉重复行