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 数据库实验课第五周——常用查询条件
Apr 05 SQL Server
mybatis调用sqlserver存储过程返回结果集的方法
May 08 SQL Server
SQLServer之常用函数总结详解
Aug 30 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
SQL SERVER触发器详解
Feb 24 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL CASE 表达式的具体使用
Mar 21 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SQL bool盲注和时间盲注详解
Jul 23 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
SONY ICF-F10中波修复记
2021/03/02 无线电
一个捕获函数输出的函数
2007/02/14 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
python实现的希尔排序算法实例
2015/07/01 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
Python线程threading模块用法详解
2020/02/26 Python
django 模型字段设置默认值代码
2020/07/15 Python
python简单实现插入排序实例代码
2020/12/16 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
安全教育心得体会
2013/12/29 职场文书
办公室经理岗位职责
2014/01/01 职场文书
县级文明单位申报材料
2014/05/23 职场文书
我的中国梦口号
2014/06/16 职场文书
浅谈Python中对象是如何被调用的
2022/04/06 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS