易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL删除重复数据

一、具有主键的情况
I.具有唯一性的字段id(为唯一主键)
delete 用户表   
where id not in   
(
select max(id) from 用户表 group by col1,col2,col3...
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,
那么只要col1字段内容相同即表示记录相同。
II.具有联合主键
假设col1+','+col2+','...col5 为联合主键
(找出相同记录)
select * from    用户表 where col1+','+col2+','...col5 in
(
select max(col1+','+col2+','...col5) from 用户表   
group by col1,col2,col3,col4
having count(*)>1    
)
group by 子句后跟的字段就是你用来判断重复的条件,
如只有col1,那么只要col1字段内容相同即表示记录相同。
或者:
(找出相同记录)
select * from 用户表    where exists (select 1 from 用户表 x where 用户表.col1 = x.col1 and   
用户表.col2= x.col2 group by x.col1,x.col2 having count(*) >1)
III:判断所有的字段
   select * into #aa from 用户表 group by id1,id2,....
   delete 用户表   
   insert into 用户表 select * from #aa
二、没有主键的情况
I.用临时表实现
select identity(int,1,1) as id,* into #temp from 用户表
delete #temp   
where id not in  
(
   select max(id) from # group by col1,col2,col3...
)
delete 用户表 ta
inset into ta(...) select ..... from #temp
II.用改变表结构(加一个唯一字段)来实现
alter 用户表 add    newfield int identity(1,1)
delete 用户表
where newfield not in
(
select min(newfield) from 用户表 group by 除newfield外的所有字段
)
alter 用户表 drop column newfield


相关文档:

SQL Server数据库碎片

当索引所在页面的基于主关键字的逻辑顺序,和数据文件中的物理顺序不匹配时,碎片就产生了。所有的叶级页包含了指向前一个和后一个页的指针。这样就
形成一个双链表。理想情况下,数据文件中页的物理顺序会和逻辑顺序匹配。整个磁盘的工作性能在物理顺序匹配逻辑顺序时将显著提升。对某些特定的查询而言,
这将带来极佳的 ......

SQL语句导入导出大全


(注意office2007的同学把privider='Microsoft.Jet.OLEDB.4.0'改为'Microsoft.ACE.OLEDB.12.0'。。offiec2003与2007的提供器是不一样的。。)
 
 
 
 
SQL语句导入导出大全[收集]
/******* 导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -
S"GNE ......

sql点滴

子表查询,父表一定要加别名,否则数据会有问题,不报编译错
select * from table1 a where exist(select 1 from table2 where a.id=b.id)
存储过程结果集插入到现有表
insert into table1 exec procname args
联合已有表,紧跟在后面,对汇总很有用
select a from table1 union all select '合计'
结果集里的某 ......

安装|SQL出现redist.cab和sql.cab错误解决办法

在网上下了一个版本的SQL2008,一步步安装,安装过程中遇到了redist.cab 和Sql.cab错误,但基本功能还是能用,但还是不能容忍错误的存在,经一番搜索,终于找到了解决方案:
下载msxml安装,我一口气安装了msxml4.0 sp3和msxml6.0两个文件
为什么安装这个东西那?
想起来了,因为安装时报的错误是与网络有关系,而我的win ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号