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作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQL Server内存机制浅探
Apr 06 SQL Server
如何使用SQL Server语句创建表
Apr 12 SQL Server
SQL Server中搜索特定的对象
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 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
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
用javascript实现自定义标签
2007/05/08 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
vue实现登录功能
2020/12/31 Vue.js
python实现删除文件与目录的方法
2014/11/10 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
Python如何实现爬取B站视频
2020/05/20 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python openssl模块安装及用法
2020/12/06 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
人事助理自荐信
2014/02/02 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
工作表扬信
2015/01/17 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
js判断两个数组相等的5种方法
2022/05/06 Javascript