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
SQL Server基本使用和简单的CRUD操作
Apr 05 SQL Server
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
SQL Server 中的事务介绍
May 20 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 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
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php实现每日签到功能
2018/11/29 PHP
文字幻灯片
2006/06/26 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
全面理解Python中self的用法
2016/06/04 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
商场活动策划方案
2014/01/24 职场文书
卫生标语大全
2014/06/21 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
公司年底活动方案
2014/08/17 职场文书
大二学生自我检讨书
2014/10/23 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
交通事故调解协议书
2015/05/20 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
感恩教育观后感
2015/06/17 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers