删除前10行sql oracle,sql server 如何实现删除前1000行数据
近日,sql数据库入门学习群有朋友问到,利用sql如何删除表格的前1000行数据,是否可以实现?
如果是oracle数据库管理软件,实现起来相对简单多了delete from 表名 where rownum<=1000;那sql server数据库管理软件呢?
sql server里没有rownum功能,小编尝试用select top
先查询看下结果集,select * from 表名;
delete from 表名 where 条码 in (select top 10 条码 from 表名)
--注释:由于数据量有限,测试删除前10行数据
如果这样处理会出问题,为什么呢?如果条件是in ,那只能是删除前10条记录里面的条码范围,这样会造成误删除表中所有的该条码记录,所以此方法行不通。
那能不能类似像oracle那样排序呢?sql server 用row_number()函数
语句如下:
select ROW_NUMBER() over (order by 日期) as num ,* from 表名
输出结果如下:
如上图,既然有序号排序了,那直接删除前10行数据
delete from (select ROW_NUMBER() over (order by 日期) as num ,* from 表名) tt where tt.num<=10
结果是失望的,delete from不能直接嵌套子查询
(各位朋友如果通过嵌套有办法处理,请公众号回复下哈)最后想到创建视图来处理,先按排序创建视图,语句如下:
create view 视图名1 asselect ROW_NUMBER() over (order by 日期) as num ,* from 表名go
查询视图,输出结果集如下 :
通过视图删除前10行数据,语句如下:
delete from 视图名1 where num <=10;
删除表格前1000行,把条件改成小于等于1000即可
小结:1、oracle的rownum它是插入数据记录排序,而sql server是通过列排序,建议使用前确认是否可以通过创建时间或发生时间排序,以免误删除数据;2、通过删除表格前10行数据方法,加深对视图的了解,对视图的修改,会直接影响基表数据;3、处理问题时,也不一定非要一条语句得到结果,可以通过创建视图或临时表处理,可能效果会更好,也不容易影响查询性能。
删除前10行sql oracle,sql server 如何实现删除前1000行数据相关推荐
- mysql 删除外键 sql语句_sql server ql语句删除外键和删除
sql server ql语句删除外键和删除 alter table tablename add constraint ordersrelationship foreign key mployeeid ...
- oracle 分组 top10 sql,oracle sql 合龙 分组 聚合函数
oracle sql 合并 分组 聚合函数 工作中有一需求,要根据多个表的数据统计情况来更新另外一个表中的某个字段,折腾了会才写出如下sql: --最终版更新语句 update moka_user_u ...
- oracle group by sql,Oracle SQL GROUP BY“不是GROUP BY表达式”的帮助
我有一张table some_table +--------+----------+---------------------+-------+ | id | other_id | date_valu ...
- oracle 等待sql,oracle sql 锁,锁等待相关sql
1.查找当前表级锁的SQL如下: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, ...
- oracle删除查询的数据库语句,Oracle简略的语句 查询 删除 修改(1)
Oracle简单的语句 查询 删除 修改(1) Dual系统表介绍 数据类型: 数据是信息数字表现形式,信息的加工处理是以大量的结构化数据为载体进行的,数据库管理系统的核心是数据库,数据库的主要对象是 ...
- 多列转多行sql oracle,sql多行转多列,中文没办法聚集的有关问题
sql多行转多列,中文没办法聚集的问题? 我要将下表 选项 答案 姓名 爱好 篮球 bruce 年龄 28 bruce 性别 ...
- oracle怎么解析sql,oracle SQL解析步骤小结
1 The syntax of the SQL statement is verified. SQL的语法检查 2 The data dictionary is searched to verify ...
- map分组后取前10个_map根据属性排序、取出map前n个
/** * map根据value排序 * flag = 1 正序 * flag = 0 倒序 * * @param map * @param flag * @return */ public stat ...
- sql 取表的前10条记录,任意中间几行的记录
取表的前10条记录 with a as(select *,row_number()over(order by department)rn from _SucceedStaff ) select * f ...
最新文章
- 懂数学人的都认同:数学的本质[关联]万物(二)
- JQUERY获取text,areatext,radio,checkbox,select值
- SQL数据库。按年,月,日查询
- Picture POJ - 1177(矩形周长并))
- java面试题32:Java网络程序设计中,下列正确的描述是()
- Linux学习之Linux历史
- cuda 编译 linux,Linux下安装Tensorflow源码及编译
- 动态HTML处理和机器图像识别
- 11月8日PHP练习《留言板》
- js 滚动条自动滚动到最底部
- python游戏服务器搭建教程_游戏服务端pomelo安装配置
- opencv 霍夫变换检测直线和圆
- 现代控制理论(二)李雅普诺夫稳定性分析
- 谈计算机财务管理的相关论文,有关计算机财务管理的思考论文
- 安装Go语言开发工具
- 嵌入式C语言开发学习笔记 —— CSPL
- 字节跳动前端实习面试经历分享
- 【读书笔记】《写给大家看的设计书》
- css音量调节,CSS3 音量调节旋钮
- python怎么设置dos_Windows下Python环境的配置和Dos界面的调用
热门文章
- html 彩虹色,CSS3 彩虹色LOADING动效
- 《Java基础入门第2版》--黑马程序员 课后答案及其详解 第7章 I/O流
- 长尾词需要几个字?长尾关键词怎么找?
- ELMo: Deep contextualized word representations
- 十分钟,让你学会Vue的这些巧妙冷技巧
- 希捷硬盘1T挂了(1)
- 查看电脑的BIOS版本的五种方法
- html fieldset 中DIV宽度,使用div+css模拟fieldset标签
- Go语言中的fmt.Print, fmt.Printf, fmt.Println的区别和使用场景
- Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”