1.创建一个测试表,如下图
createtabletest_name(idint,namevarchar2(20));
2.插入测试数据,如下图
insertintotest_namevalues(101,'王二百度');
insertintotest_namevalues(102,'李三');
insertintotest_namevalues(103,'陈五');
insertintotest_namevalues(104,'马四');
insertintotest_namevalues(105,'王二');
commit;
3.查询表知道全部数据,selectt.*,rowidfromtest_namet;
4.写SQL,查询相同的名字,可以发现‘wang two’的名字是重复的选择名称,计数(*)从test_name t组的名称计数(*)>1
注意事项:
SQLServer的特点如下
1.具有真实的客户端和服务器架构架构。
2.图形用户界面使系统管理和数据库管理更加直观。
3.丰富的编程接口专用工具,为用户进行程序设计提供了更多的选择。
4.它是完全集成的,利用了NT的许多功能,比如发送消息和接收消息。
总结:
两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、(1)对于第一种重复,比较容易解决,使用复制代码代码如下:select distinct * from tableName
(2)如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除,复制代码代码如下:
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
2、假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集,复制代码代码如下:
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)