sql server删除前1000行数据的方法实例


Posted in SQL Server onAugust 30, 2021

近日,sql数据库入门学习群有朋友问到,利用sql如何删除表格的前1000行数据,是否可以实现?

如果是oracle数据库管理软件,实现起来相对简单多了

delete  from 表名  where rownum<=1000;

那sql server数据库管理软件呢?

sql server里没有rownum功能,小编尝试用select top

先查询看下结果集,select * from 表名;

sql server删除前1000行数据的方法实例

delete from 表名 
where 条码 
in (select top 10 条码 from 表名)

--注释:由于数据量有限,测试删除前10行数据

如果这样处理会出问题,为什么呢?如果条件是in ,那只能是删除前10条记录里面的条码范围,这样会造成误删除表中所有的该条码记录,所以此方法行不通。

那能不能类似像oracle那样排序呢?sql server 用row_number()函数

row_number()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号

必须和over一起使用

语法如下:

select *,ROW_NUMBER() over(order by productid) as num from product_test;

语句如下:

select  ROW_NUMBER() over (order by 日期) as num  ,* from 表名

输出结果如下:

sql server删除前1000行数据的方法实例

如上图,既然有序号排序了,那直接删除前10行数据

delete from
 (select  ROW_NUMBER() over
 (order by 日期) as num  ,* from 表名) tt 
where tt.num<=10

结果是失望的,delete from 不能直接嵌套子查询

(各位朋友如果通过嵌套有办法处理,请公众号回复下哈)

最后想到创建视图来处理,先按排序创建视图,语句如下:

create view 视图名1 
as
select  ROW_NUMBER() over (order by 日期) as num  ,*  from 表名
go

查询视图,输出结果集如下 :

sql server删除前1000行数据的方法实例

通过视图删除前10行数据,语句如下:

delete from 视图名1 where num <=10;

删除表格前1000行,把条件改成小于等于1000即可

小结:

1、oracle的rownum它是插入数据记录排序,而sql server是通过列排序,建议使用前确认是否可以通过创建时间或发生时间排序,以免误删除数据;

2、通过删除表格前10行数据方法,加深对视图的了解,对视图的修改,会直接影响基表数据;

3、处理问题时,也不一定非要一条语句得到结果,可以通过创建视图或临时表处理,可能效果会更好,也不容易影响查询性能。

总结

到此这篇关于sql server删除前1000行数据的文章就介绍到这了,更多相关sqlserver删除前1000行数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

SQL Server 相关文章推荐
Sql-Server数据库单表查询 4.3实验课
Apr 05 SQL Server
SQL 窗口函数实现高效分页查询的案例分析
May 21 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
SQL CASE 表达式的具体使用
Mar 21 SQL Server
SQL Server内存机制浅探
Apr 06 SQL Server
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 SQL Server
SQL Server数据库查询出现阻塞之性能调优
Apr 10 SQL Server
SQL Server Agent 服务无法启动
Apr 20 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 SQL Server
SQL中的连接查询详解
Jun 21 SQL Server
SQLServer之常用函数总结详解
Aug 30 #SQL Server
SQL写法--行行比较
Aug 23 #SQL Server
SQL语句中JOIN的用法场景分析
sql通过日期判断年龄函数的示例代码
Jul 16 #SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
SqlServer数据库远程连接案例教程
数据库之SQL技巧整理案例
Jul 07 #SQL Server
You might like
Dedecms常用函数解析
2008/02/01 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
深入理解javascript作用域和闭包
2014/09/23 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
会计系个人求职信范文分享
2013/12/20 职场文书
计划生育宣传标语
2014/06/21 职场文书
六年级学生期末评语
2014/12/26 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS