怎样用sql语句删除表中的前面几条记录

来源:百度知道 编辑:UC知道 时间:2024/06/24 09:07:59
s_no s_name s_sex s_birthday s_department
----------- -------- ----- --------------- --------------------
NULL NULL 男 1982-4-16 计算机
NULL NULL 男 1983-4-5 机电
NULL NULL 男 1988-4-1 建筑
NULL NULL 女 1990-2-1 计算机
NULL NULL 女 1987-5-1 机电
107 陈乐 男 1983-4-16 文秘
108 小小 女 1982-4-16 文秘
101 小陈 男 1986-5-1 计算机
102 小王 男 1987-8-1 化学系

我现在要删掉前面5条记录,该怎样实现,要用到top么?我试了一下,用delete from student
where s_no=null
这样删不掉记录,是怎么回事呢?
如果只删除前面3条记录呢,又该怎么实现?

这样删不掉应该是你的记录中就是这样写着NULL
要是这样的话你在NULL上加上单引号,这样应该就可以了
delete from student
where s_no='NULL'
如果记录中那一列是空白的,也就是说不是显示NULL,那你把=改成is就可以了

sql语句删除表中的前面几条记录的重点在于你如何去获取前面的几条记录。
和不同的数据库中也有一些关系
通常有以下几种方式:(样例代码)
1: 简单的 top方式
delete from 表 where id in(select top 3 id from 表)
2:rank排名函数
根据某些业务条件,使用排名函数获得排名靠前的值,再使用删除操作
deletefrom 表 where id in(
select id from(
SELECT id ,RANK() OVER (PARTITION BY i. i.Quantity DESC) AS Rank
FROM表
) where rank<=3
)

delete from student where s_no is null and s_sex='男'
你再想删除前两条好像就只能完全匹配那么一条一条的删了
你这没有ID列,没办法按ID删

delete student where id in(select top 5 id from student)

delete from student where s_no is null

delete from student where s_no is null and s_sex = '男'