SQL Server 文档整理 - 4 如何找出重复数据以及怎样消除重复数据
2006-07-08 17:24
531 查看
两年多没有碰SQL Server 2000了,昨天整理电脑的时候发现了以前写的一些文档,今天就整理到博客上来吧。不然也对不起“彭建军的专栏”几个字了,呵呵。
很多时候,你的目的表中存在重复记录,恰好你不能容忍它们的存在?怎么找出它们?怎么消除它们?下面提供的一些方法或许对你有用……
/**
* 关于: MS SQL Server 2000 重复记录
* 作者:彭建军
* 测试环境:SQL Server 2000 SP4 + Windows XP Sp2
* 更新时间:2006-7-8 16:36
**/
--建立测试环境
USE PJJ
GO
IF EXISTS
(SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = 'T1')
DROP TABLE T1
GO
CREATE TABLE T1
(
Column1 INT,
Column2 CHAR(5),
Column3 VARCHAR(10)
)
GO
--插入数据
INSERT INTO T1
SELECT 1,'AAAAA','A+A+A+A+A' UNION ALL
SELECT 2,'BBBBB','B+B+B+B+B' UNION ALL
SELECT 3,'CCCCC','C+C+C+C+C' UNION ALL
SELECT 2,'BBBBB','B+B+B+B+B' UNION ALL
SELECT 3,'CCCCC','C+C+C+C+C'
GO
--查询
SELECT * FROM T1
SELECT DISTINCT * FROM T1
--删除重复数据方法
SELECT DISTINCT * INTO #T FROM T1
GO
TRUNCATE TABLE T1
GO
INSERT INTO T1
SELECT * FROM #T
GO
DROP TABLE #T
GO
--查询重复的记录
SELECT COUNT(*) AS '重复次数',Column1,Column2,Column3
FROM T1
GROUP BY Column1,Column2,Column3
HAVING COUNT(*)>1
--查询不重复的记录
SELECT COUNT(*) AS '重复次数',Column1,Column2,Column3
FROM T1
GROUP BY Column1,Column2,Column3
HAVING COUNT(*)<=1
--删除测试环境
DROP TABLE T1
GO
很多时候,你的目的表中存在重复记录,恰好你不能容忍它们的存在?怎么找出它们?怎么消除它们?下面提供的一些方法或许对你有用……
/**
* 关于: MS SQL Server 2000 重复记录
* 作者:彭建军
* 测试环境:SQL Server 2000 SP4 + Windows XP Sp2
* 更新时间:2006-7-8 16:36
**/
--建立测试环境
USE PJJ
GO
IF EXISTS
(SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = 'T1')
DROP TABLE T1
GO
CREATE TABLE T1
(
Column1 INT,
Column2 CHAR(5),
Column3 VARCHAR(10)
)
GO
--插入数据
INSERT INTO T1
SELECT 1,'AAAAA','A+A+A+A+A' UNION ALL
SELECT 2,'BBBBB','B+B+B+B+B' UNION ALL
SELECT 3,'CCCCC','C+C+C+C+C' UNION ALL
SELECT 2,'BBBBB','B+B+B+B+B' UNION ALL
SELECT 3,'CCCCC','C+C+C+C+C'
GO
--查询
SELECT * FROM T1
SELECT DISTINCT * FROM T1
--删除重复数据方法
SELECT DISTINCT * INTO #T FROM T1
GO
TRUNCATE TABLE T1
GO
INSERT INTO T1
SELECT * FROM #T
GO
DROP TABLE #T
GO
--查询重复的记录
SELECT COUNT(*) AS '重复次数',Column1,Column2,Column3
FROM T1
GROUP BY Column1,Column2,Column3
HAVING COUNT(*)>1
--查询不重复的记录
SELECT COUNT(*) AS '重复次数',Column1,Column2,Column3
FROM T1
GROUP BY Column1,Column2,Column3
HAVING COUNT(*)<=1
--删除测试环境
DROP TABLE T1
GO
相关文章推荐
- 如何整理SQL Server输入数据
- sql语句,如何找出重复的数据
- 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题
- SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
- 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题
- 重复的方式以及如何消除重复
- 获取sql server数据库中所有用户表名及在sql server中怎样用sql得到库中所有的表名以及表的结构(列名和数据类型)
- java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。
- EXCEL如何整理出两列中不重复的数据
- 设计原则:重复的方式以及如何消除重复
- SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
- SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
- Excel如何找出同一列的重复数据
- Excel 中如何找出两列数据中不重复的记录
- Sql Server 2000,Sql Server 2005以及Oracle下如何实现数据分页
- MySQL数据表的数据类型、如何实现数据完整性以及日期函数等的基本知识点整理
- Excel 中如何找出两列数据中不重复的记录
- java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。
- 一是关于怎样找出和去除重复数据,这在另一个帖子利已有详细介绍。二是关于找出某一列里最大或最小的前几个,或是大于或小于某一个值(最大值或平均值)的数据