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查询结果列拼接成逗号分隔的字符串方法
May 25 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server内存机制浅探
Apr 06 SQL Server
SQL Server中的游标介绍
May 20 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL SERVER中的流程控制语句
May 25 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
php获取淘宝分类id示例
2014/01/16 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
python中的数据结构比较
2019/05/13 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
大学生自我鉴定范文模板
2014/01/21 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2014年个人委托书范本
2014/10/13 职场文书
给领导敬酒词
2015/08/12 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis