删除SQL表中重复行的方法

数据库 SQL Server
若在你的MS Sql Server数据库表中,有重复的多行,你可能想去删除这些重复的记录。本文将为您将讲解如何将这些冗余数据删除的方法,供您参考,希望对您有所启迪。
在建立Sql Server数据库表的时候,难免会有重复的行出现,本文将为您将讲解如何将这些冗余数据删除的方法,供您参考,希望对您有所启迪。

若在你的MS Sql Server数据库表中,有重复的多行,你可能想去删除这些重复的记录。
T_SQL Row_Number()函数能帮助sql开发者去解决这个sql的问题。

1.创建TUser表:

CREATE TABLE TUser(
  Name varchar(50),
  Region varchar(50),
  Remark varchar(100)

)

2.插入重复数据到TUser表中

INSERT TUser VALUES ('Tom','Franc', 'test1')

INSERT TUser VALUES ('Kate','China', 'test2')

INSERT TUser VALUES ('Tom','Japan', 'test3')

INSERT TUser VALUES ('Mary','Japan', 'test4')

INSERT TUser VALUES ('Tom','German', 'test5')

3.筛选数据

SELECT RN=ROW_NUMBER() OVER (ORDER BY name)
FROM TUser where Name='Tom'

4.概要-删除表中重复的行

TUser表中有3条重复的数据,我们现在希望删掉前2条,保留第3条

WITH [CTE DUPLICATE] as
(SELECT RN=ROW_NUMBER() OVER (ORDER BY name)
FROM TUser where Name='Tom'
)
delete from [CTE DUPLICATE] where RN<3

执行该sql语句后,数据库中记录有5条变为3条,分别是

 

 

 

责任编辑:段燃 来源: 互联网
相关推荐

2009-04-20 15:54:04

SQL Server重复行

2010-06-28 12:46:09

SQL Server

2010-10-22 16:29:11

SQL Server删

2010-07-12 09:52:24

删除 SQL Serv

2010-09-02 10:36:51

SQL删除

2010-09-02 11:34:51

SQL删除

2010-09-02 10:53:21

SQL删除

2010-09-01 15:30:24

SQL删除

2010-11-10 11:27:40

SQL Server重

2021-11-30 10:00:01

SQL数据重复

2010-10-22 16:48:49

SQL删除所有表数据

2011-03-04 17:30:42

Oracle数据库

2010-09-03 11:42:04

SQL删除

2010-07-01 12:29:27

SQL Server重

2010-09-03 09:49:39

SQL删除

2011-09-13 15:51:54

删除数据库重复行

2010-09-03 11:52:41

SQL删除

2010-09-03 13:30:31

SQL删除

2013-03-06 09:41:29

2010-09-02 11:38:44

SQL删除
点赞
收藏

51CTO技术栈公众号