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基本使用和简单的CRUD操作
Apr 05 SQL Server
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
sql中mod()函数取余数的用法
May 29 SQL Server
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
Jun 30 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL CASE 表达式的具体使用
Mar 21 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
SQL Server删除表中的重复数据
May 25 SQL Server
SQL解决未能删除约束问题drop constraint
May 30 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 中的类
2006/10/09 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
PHP中的表达式简述
2016/05/29 PHP
PHP微信支付开发实例
2016/06/22 PHP
JavaScript中的eval()函数详解
2013/08/22 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
python导入时小括号大作用
2017/01/10 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
关于旷工的检讨书
2014/02/02 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
倡议书格式模板
2014/05/13 职场文书
酒店管理求职信
2014/06/09 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
个人原因辞职信模板
2015/05/13 职场文书
2016年校长新年寄语
2015/08/17 职场文书