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 相关文章推荐
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
sql字段解析器的实现示例
Jun 23 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
SQLServer之常用函数总结详解
Aug 30 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
Windows环境下实现批量执行Sql文件
Oct 05 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
Sql Server 行数据的某列值想作为字段列显示的方法
Apr 20 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
如何使用PHP往windows中添加用户
2006/12/06 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
php教程之phpize使用方法
2014/02/12 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
使用javascipt---实现二分查找法
2013/04/10 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
应届生个人求职信模板
2013/11/26 职场文书
肯尼迪就职演说稿
2013/12/31 职场文书
爱我中华教学反思
2014/04/28 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
会议主持人开场白台词
2015/05/28 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android