SQL SERVER 利用ROW_NUMBER 删除重复数据
分享一个小知识点,论坛里也常有人问这种问题,表中数据除了ID不同,其他数据一样,然后保存ID最大(或者最小)值,测试数据:
--测试数据
if not object_id(N'Tempdb..#T') is nulldrop table #T
Go
Create table #T([ID] int,[Name] nvarchar(22),[Class] int)
Insert #T
select 1,N'张三',1 union all
select 2,N'张三',2 union all
select 3,N'张三',3 union all
select 4,N'李四',1 union all
select 5,N'李四',2
Go
--测试数据结束
我们可以利用ROW_NUMBER来读取数据,或者是删除重复数据:
SELECT *
FROM
(SELECT *,ROW_NUMBER() OVER (PARTITION BY Name ORDER BY ID) AS rn --order by ID 控制取大值还是小值FROM #T
) t
WHERE t.rn = 1;
;WITH cte AS
(SELECT *,ROW_NUMBER() OVER (PARTITION BY Name ORDER BY ID) AS rn --order by ID 控制取大值还是小值FROM #T
)
DELETE FROM cte WHERE cte.rn<>1SELECT * FROM #T
结果如下:
以上我们实现了通过ROW_NUMBER来处理重复数据的问题。
SQL SERVER 利用ROW_NUMBER 删除重复数据相关推荐
- SQL SERVER 查询、删除重复数据
查询删除重复数据,只保留一条记录: 1.根据单字段,查询表中该字段重复出现记录: SELECT * FROM Table WHERE Parameter IN (SELECT Parameter FR ...
- 利用sql语句删除重复数据
记录原因: 昨天遇到一个问题:需要写一个sql语句删除重复数据.当时解决的办法,是先查询出重复的数据id,然后再单独写删除语句进行删除.今天想了想应该还是有其他办法解决的,研究了下可以通过一条语句就能 ...
- Sql server 删除重复数据
以下内容抄自 : https://www.cnblogs.com/springsnow/p/10334469.html 非常感谢此博主, 为了防止此链接丢失, 特写此文章进行记录,以便后面使用 目录 ...
- 删除前10行sql oracle,sql server 如何实现删除前1000行数据
近日,sql数据库入门学习群有朋友问到,利用sql如何删除表格的前1000行数据,是否可以实现? 如果是oracle数据库管理软件,实现起来相对简单多了delete from 表名 where r ...
- 【SQL开发实战技巧】系列(九):一个update误把其他列数据更新成空了?Merge改写update!给你五种删除重复数据的写法!
系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...
- sql 删除重复数据
sql 删除重复数据 问题是这样的.今天在一个技术群里,一个群友提了一个问题: 大概是,一张学生表 student,有字段 id (自增), name, 想要删除多余的重复name 的数据,剩下id最 ...
- SQL删除重复数据方法
原文:SQL删除重复数据方法 例如: id name value 1 a pp 2 ...
- SQL表之间复制数据、选出随机几条数据、删除重复数据、取得自增长列等操作...
--表之间数据复制 SELECT* INTO yozhu FROM yo --复制一份表 SELECT* INTO yozhu1 FROM yo where 1<>1 --只复制表结构,无 ...
- 3.23学习内容,竖立seekbar,sql获取删除重复数据
竖立的seekbar: http://blog.csdn.net/metalseed/article/details/8014758 原理: 继承AbsSeekBar 通过重写方法旋转: protec ...
最新文章
- 智驾汽车MAXIEYE 招聘|SLAM、深度学习、融合、规划控制工程师等岗位(校招/实习)...
- 第二章 数据结构(一)
- ChinaDNS 结合DNSMasq防dns挟持
- 12行代码AC——UVa 151 - Power Crisis(约瑟夫环)
- linux内核的冒险md来源释义# 14raid5非条块读
- Mybatis使用之 Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias‘User’
- Linux工作笔记040---Centos8.2安装mysql5.7.18_已经测试成功
- 大数据框架对比:Hadoop、Storm、Samza、Spark和Flink
- 简单电脑***《菜鸟级》
- Android 复杂的多类型列表视图新写法:MultiType 3.0
- 基于ubuntu的ARM开发环境搭建
- 设置WDS桥接成功,上不了网怎么办?路由器WDS无线桥接设置正确方法
- Java--网上银行登录及存取款业务模拟系统
- Cannot serialize; nested exception is org.springframework.core.serializer
- VR垃圾分类体验系统,VR垃圾分类知识抢答软件开发
- 手把手教你更改maven镜像源
- 只待狂欢!青岛凤凰音乐节三大主题舞台搭建完毕
- 武汉计算机学校中专,武汉有哪些关于计算机中专学校
- linux db2 删除表空间,DB2表清空数据的四种方法及技巧
- java linux pdf2swf_Linux PDF转换为SWF
热门文章
- UE4 网格体闪烁问题解决
- 【雕爷学编程】Arduino动手做(4)---振动传感器模块
- 利用Word Embedding自动生成语义相近句子
- 如何对Windows剪切板里的内容进行取证分析 Windows剪切板取证
- asp.net 网络编程_ASP.NET编程技巧
- 【JAVA程序设计】基于SSM的图书管理系统-有论文文档
- 设置gvim中横竖光标_vim注释和光标高亮行列的颜色设置
- uCosII移植STM32F407教程
- Windows下的subversion(SVN)下载安装及配置 -详细步骤
- 搭建全功能绿色版本的Flex Builder 3.0.1