散分!保留前10条记录的SQL语句

DawnPine 2005-03-15 03:08:55
用VB ADO 操作本地Access表
对某个字段做排序
然后保留前10条记录
删除其余记录

语句简洁者优先拿高分 :-)
...全文
94 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
DawnPine 2005-03-16
谢谢各位的解答与帮顶
结帖

:-)
回复
linger505 2005-03-15
楼上都说的很好了


蹭分~~~~~`
回复
射天狼 2005-03-15
左手练习熟练了比右手还快,蹭分~~~~~`
回复
fishmans 2005-03-15
select top 10 * into temptable from table1 order by id (desc)
delete from table1
insert into table1 select * from temptable
回复
fishmans 2005-03-15
在ACCESS中用delete 语句就是要加from 的,分还是给左手算了,ID不唯一就得找到一个唯一的标志,没有也要创建一个,如果这样那语句肯定短不了
回复
DawnPine 2005-03-15
基本上也算解决了
等待更完美的答案
明天上午10点前结帖

另:左手应该改名叫快手,从我发这个帖到他看到、解答、回帖,仅8分钟
回复
饮水需思源 2005-03-15
'降序:
delete from tablename where id not in (select top 10 id from tablename order by id desc)
回复
ljhdi 2005-03-15
来蹭分的
回复
DawnPine 2005-03-15
问题是ID不一定唯一
就是说第10个和第11个的ID可能重复

另:逆序时怎么处理?
回复
maskdata 2005-03-15
delete tablename where id not in (select top 10 id from tablename order by id)

这分应该给我,我比左手少一个from哦,比他的简洁一点,哈哈
回复
daisy8675 2005-03-15
晕,刚看见左手挺快的
回复
daisy8675 2005-03-15
用pubs中间的jobs表做实验。

Select top 10 Job_ID from jobs order by Job_ID
delete from jobs where Job_ID not in(Select top 10 Job_ID from jobs)
回复
cindytsai 2005-03-15
来学习的
回复
饮水需思源 2005-03-15
delete from tablename where id not in (select top 10 id from tablename order by id)
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告