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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Hadoop3单机部署,实现最简伪集群