社区
MS-SQL Server
帖子详情
用SELECT查出10个记录,如何删除第六个记录?如果第6,7个记录一样呢?
ly2099
2000-03-11 01:17:00
...全文
402
12
打赏
收藏
用SELECT查出10个记录,如何删除第六个记录?如果第6,7个记录一样呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huitor
2000-05-31
打赏
举报
回复
代码如下:
Dim rs As New ADODB.Recordset
rs.Open SqlString, ConnectionString, adOpenKeyset, adLockOptimistic
rs.AbsolutePosition = 6
rs.Delete
要求:
表必须建立主键或者唯一索引
要使用adOpenKeyset和adLockOptimistic,也可以使用其它选项,请参阅adodb文档。
Tommy Chang
2000-05-31
打赏
举报
回复
ly2099:用SELECT查出10个记录,如何删除第六个记录?如果第6,7个记录一样呢?
提问题的朋友并没有说顺序是不是固定的,如果可以有主键、唯一键的话,一定可以保证用huitor朋友的方法来解决。
ly2099可以将问题再描述具体点吗?
Tommy Chang
2000-05-31
打赏
举报
回复
小弟才疏学浅,实在看不出来ly2099问的是什么数据库的语法,各位是用什么数据库举例的。sql 92是不包括rowid, rowcount,top。。。,处于关系数据库的角度而言,除非指定按某种条件排序,否则没有固定的顺序(各大厂家都没承诺过,保证在不指定排序方式的查询,当返回多行记录会按照某种固定顺序来排列。导过数据、做过数据碎片清理。。。这些操作之后,有谁会保证这些呐?),而使用游标确实是一种解决办法,而且比较快速,但是反问一句,为什么会选中第6条记录来删除呐?除非你就是看第6条不顺眼 :) 这样也许就会怀念xbase的时代了。
问题也许可以试着换种描述方式,如果你能给出逻辑上的判断条件,那么用sql一定可以做到。(db2中的sql连递归都可以写,sql中也可以使用store procedure来处理数据。。。)
请高手赐教,指点在具体数据库下的实现方法。
Axiong
2000-04-20
打赏
举报
回复
set rowcount 6
delete tablename where "区别于前面记录的条件"
set rowcount 0
这样就可删除一条相同的记录
laser
2000-03-30
打赏
举报
回复
在游标中用
DELETE tablename WHERE CURRENT OF cursorname
tanghuan
2000-03-30
打赏
举报
回复
上面应是create table #temptable (RowNumber int identity,数据列)
tanghuan
2000-03-30
打赏
举报
回复
create table #temptable (RowNumber int,数据列)
insert into #temptable (数据列)
select 数据列
from .....
delete #temptable where RowNumber 是你不需要的
select 数据列 from #temptable
How
2000-03-25
打赏
举报
回复
假设有一员工表Employee(EmployeeID,EmployeeName,...),
要删除第6条的记录,可用如下语句:
delete from employee
where (EmployeeID not in ( select top 5 EmployeeID from employee))
and (EmployeeID in (select top 6 EmployeeID from employee))
DataBind
2000-03-13
打赏
举报
回复
不知你为什么能准许相同纪录插入。其他人已经说了基本的实现方法(cursor)。
如果你是要取出不同的纪录,可以试一下:
select distinct [fieldlist] from [tablename] [where] [conditions]
dthl
2000-03-11
打赏
举报
回复
DECLARE cs0 CURSOR FOR SELECT ROWID,* FROM table1 选出ROWID,这是唯一标志记录的,
DELETE FROM table1 WHERE ROWID=xxxx 然后删除
GoldenLion
2000-03-11
打赏
举报
回复
可以用Cursor定位并删除。
929
2000-03-11
打赏
举报
回复
在关系数据库中表中的每一条记录都应有一个唯一的识别标志,这样才能在表中准确的定位。理论上,表中不应出现一模一样的记录。如果出现,在向表中发出更新,删除等语句时,符合要求的记录都将被操作。也就是说你问题中的6。7两条记录都将被删除。解决的方法可以首先以分组或其它方法,把这些重复的记录保留其中一条在一个临时表或内存中。在发出删除命令后,再把这些保留的记录以INSERT恢复回去。
Oracle之按工资降序
查出
表中第5到第10条的
记录
的方法
1.找出emp表中第5到10条
记录
并按降序排列
1.1
SELECT
* FROM emp ORDER BY sal DESC; //
查出
表中所有数据并按降序排列
1.2
SELECT
ROWNUM r,s.* FROM (
SELECT
* FROM emp ORDER BY sal DESC ) s //把降序排列好的表作为一个临时表
1.3
SELECT
t.* FROM (
SELECT
ROWNUM r,s
查询数据库中的重复数据
记录
SELECT
a.*, dlookup("r1","表2","id=" & a.id & " and name='"& a.name & "'") AS r1, dlookup("r2","表2","id=" & a.id & " and name='"& a.name & "'") AS r2。有两个意义上的重复
记录
,一是完全重复的
记录
,也即所有字段均重复的
记录
,二是部分关键字段重复的
记录
,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
mysql如何出
查出
最近7天,最近30天,最近n天的
记录
?
已查询浏览量为例:原始数据如下: 思路分析:数据有了,统计某一天的浏览量,所有浏览量,或固定时间段内的浏览量在这里我们就不多说了,大家都会,那我们是如何将最近七天的数据统计出来呢? 首先,我们说的最近7天,最近一周,并不是指数据库里所存的最后7天的数据,而是从今天算起,往前7天内数据库中的数据。这样的话,这样的话,就是以时间为主线(主表) 来统计时间所对应的浏览量。
select
DA...
六、查询数据
数据库管理系统的一个重要功能就是查询数据,查询数据不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。 一、基本查询语句 MySQL从数据表中查询数据的基本语句为
SELECT
语句。
SELECT
语句的基本格式是:
SELECT
{ * | <字段列表> } [ FROM <表1>,<表2>... [ WHERE <表达式> ] [G
select
1 from ... sql语句
1、
select
1fromtable;
查出
所有的数据的值都是1 2、
select
anycol(目的表集合中的任意一行)fromtable;
查出
所在行数据的值 3、
select
*fromtable ;
查出
所有的数据的值 从作用上来说是没有差别的,都是查看是否有
记录
,一般是作条件查询用的。
select
1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从...
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章