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 相关文章推荐
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
SqlServer 垂直分表(减少程序改动)
Apr 16 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
SQL SERVER存储过程用法详解
Feb 24 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
sql时间段切分实现每隔x分钟出一份高速门架车流量
Feb 28 SQL Server
MSSQL基本语法操作
Apr 11 SQL Server
SQL Server 忘记密码以及重新添加新账号
Apr 26 SQL Server
SQL Server中锁的用法
May 20 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 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
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
Prototype Selector对象学习
2009/07/23 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
详解flask表单提交的两种方式
2018/07/21 Python
Python实现基于POS算法的区块链
2018/08/07 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
阿里云:Aliyun.com
2017/02/15 全球购物
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
医药代表个人求职信范本
2013/12/19 职场文书
统计岗位职责
2014/02/21 职场文书
活动总结模板
2014/05/09 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
会计出纳岗位职责
2015/03/31 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
《月光曲》教学反思
2016/02/16 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android