MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据
转自:http://www.maomao365.com/?p=4942
下文主要讲述:重复数据只获取一条的方法
row_number函数在数据库中的功能是为每一行 按照一定的规则生成一个编号,
我们常常利用这一属性,对表进行分页操作,下文我们将讲述采用 row_number函数删除表中重复数据行
/*建表*/ create table A(keyId int,info varchar(20)) go /*生成数据*/ insert into A(keyId,info)values (1,'a'),(2,'b'),(3,'C'),(4,'d'),(5,'e'), (1,'a'),(21,'b1'),(31,'C1'),(4,'d'),(51,'e'), (1,'a'),(6,'b1'),(7,'C1'),(4,'d000'),(10,'e') go /*删除 keyId重复数据 中的另外几条*/ delete [A2] from (select row_number() over (Partition By keyId order by keyId) as keyId2,* from A ) as [A2] where [A2].keyId2 >1 /* /*删除 所有列都重复数据 中的另外几条*/ delete [A2] from (select row_number() over (Partition By keyId,info order by keyId) as keyId2,* from A ) as [A2] where [A2].keyId2 >1 */ /*展示删除后的数据*/ select * from A go truncate table A drop table A go

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
python中的SQLite数据库
python中的SQLite数据库 Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。 下面让我们一步步走进Python中的SQLite吧。 一,Python SQLITE数据库导入模块: import sqlite3 二,创建数据库/打开数据库: cx = sqlite3.connect("E:/test.db") 其实我们不需要显式的创建一个sqlite数据库,在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。这一点应用很好理解。 三,数据库连接对象: 打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作: commit()–事务提交 roll...
-
下一篇
mssql 怎么配置指定的表 不允许删除数据?
原文: mssql 怎么配置指定的表 不允许删除数据? http://www.maomao365.com/?p=5089 <span style="color:red;font-weight:bold;">前言: 前几天收到群友提问,如何禁止某一张表里面的数据被删除掉?</span> <hr /> 当我们看见这个问题的时,首先想到的是拦截器,sql数据操作拦截器,首先第一个想到的是sql instead of触发器, instead of触发器可以拦截insert update delete操作。 下文将举例说明,instead of触发器对表删除的拦截 /*建表*/ create table A(keyId int,info varchar(20)) go insert into A(keyId,info)values(1,'a'),(2,'b'),(3,'c'),(4,'d') go /*创建 instead of 触发器*/ create trigger tr_A on A instead of delete as begin select '...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程