我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQLServer删除表中的重复数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQLServer删除表中的重复数据

添加示例数据

create table Student(
        ID varchar(10) not null,
        Name varchar(10) not null,
);

insert into Student values('1', 'zhangs');
insert into Student values('2', 'zhangs');
insert into Student values('3', 'lisi');
insert into Student values('4', 'lisi');
insert into Student values('5', 'wangwu');

删除Name重复多余的行,每个Name仅保留1行数据

1、查询表中Name 重复的数据

select Name from Student group by  Name having count(Name) > 1

2、有唯一列,通过唯一列最大或最小方式删除重复记录

检查表中是否有主键或者唯一值的列,当前可以数据看到ID是唯一的,可以通过Name分组排除掉ID最大或最小的行

delete from Student
  where Name in( select Name from Student group by  Name having count(Name) > 1) and 
 ID not in(select  max(ID) from Student group by  Name having count(Name) > 1 )

执行删除脚本后查询

3、无唯一列使用ROW_NUMBER()函数删除重复记录

如果表中没有唯一值的列,可以通过row_number 来删除重复数据 
重复执行插入脚本,查看表数据,表中没有唯一列值

Delete T From
 (Select Row_Number() Over(Partition By [Name] order By [ID]) As RowNumber,* From Student)T
 Where T.RowNumber > 1

小知识点

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
         表示根据COLUMN分组,在分组内部根据 COLUMN排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
         函数“Row_Number”必须有 OVER 子句。OVER 子句必须有包含 ORDER BY
         Row_Number() Over(Partition By [Name] order By [ID])  表示已name列分组,在每组内以ID列进行升序排序,每组内返回一个唯一的序号

执行删除脚本后查询表数据

到此这篇关于SQL Server删除表中重复数据的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQLServer删除表中的重复数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sqlserver如何删除表中的数据

要删除表中的数据,可以使用DELETE语句。例如,要删除名为“table_name”的表中的所有数据,可以执行以下操作:DELETE FROM table_name;如果只想删除满足特定条件的数据,则可以添加WHERE子句,如下所示:D
sqlserver如何删除表中的数据
2024-03-07

postgresql怎么删除表中重复数据的行

在PostgreSQL中,你可以使用以下方法删除表中重复数据的行:找出重复数据的行:SELECT col1, col2, ..., coln, COUNT(*) FROM table_nameGROUP BY col1, col2, .
postgresql怎么删除表中重复数据的行
2024-04-09

SQL Server如何删除表中的重复数据

本篇内容介绍了“SQL Server如何删除表中的重复数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!添加示例数据create table
2023-06-30

sqlserver如何删除表中一行数据

要删除表中的一行数据,可以使用DELETE语句。具体语法如下:DELETE FROM 表名WHERE 条件;例如,要删除名为"students"的表中学号为1001的学生数据,可以使用以下语句:DELETE FROM students
sqlserver如何删除表中一行数据
2024-04-09

SQLServer中如何删除数据

要删除数据,可以使用DELETE语句。以下是一个基本的DELETE语句示例:DELETE FROM table_nameWHERE condition;在这里,table_name是要删除数据的表的名称,condition是要满足的条件
SQLServer中如何删除数据
2024-04-09

postgresql如何找到表中重复数据的行并删除

目录PostgreSQL找到表中重复数据的行并删除创建测试表并插入数据找到重复行并删除postgresql常用的删除重复数据方法最高效方法PG中三种删除重复数据方法总结postgresql找到表中重复数据的行并删除创建测试表并插入数据c
2023-05-05

sqlserver删除数据表的方法是什么

要删除 SQL Server 中的数据表,可以使用 DROP TABLE 语句。示例如下:DROP TABLE table_name;其中,table_name 是要删除的数据表的名称。执行此语句后,数据表将被永久删除,其中的所有数据也将
sqlserver删除数据表的方法是什么
2024-04-18

mysql中怎么删除重复数据

在MySQL中,可以使用以下两种方法来删除重复数据:方法1:使用DISTINCT关键字和INSERT INTO SELECT语句CREATE TABLE new_table ASSELECT DISTINCT * FROM old_t
mysql中怎么删除重复数据
2024-04-09

SQL中删除重复数据问题

我们数据库中最后要保留的结果就是第二步中查询出来的数据,我们把其他的数据删除即可。怎么删除呢?我们使用ID来排除。
SQL数据重复2024-12-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录