首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

遇到一个难题,能不能找个最简单的删除语句实现以下目的?该如何处理

2012-02-15 
遇到一个难题,能不能找个最简单的删除语句实现以下目的?有记录若干,以时间为主键,每次执行删除语句时,只保

遇到一个难题,能不能找个最简单的删除语句实现以下目的?
有记录若干,以时间为主键,每次执行删除语句时,只保留最新更新的记录10条,其余删除,用程序的方法可以实现,但是我想找到一条SQL语句能实现这个功能.

[解决办法]

SQL code
delete from dbo where 时间 not in (select top 10 时间 from  dbo.t2 order by 时间 asc)
[解决办法]
你是什么数据库:

SQL code
mssql:delete from 表名 where 时间 not in (select top 10 时间 from  表名 order by 时间 desc)mysql:delete from 表名 where 时间 not in (select 时间 from  表名 order by 时间 desc limit 10)oracle:delete from 表名 where 时间 not in (select 时间 from (select rownum as rowid,时间 from  表名 order by 时间 desc) where rowid<=10)
[解决办法]
探讨
SQL codedeletefrom dbowhere 时间not in (selecttop10 时间from dbo.t2orderby 时间asc)

[解决办法]
什么数据库?
delete a from tt a left join (select top 10 * from tt order by time desc) b
on a.time=b.time where b.time is null
[解决办法]
SQL code
delete from yourTablewhere mytime < (select min(mytime) from (select top 10 mytime from yourTable order by yourTable desc) t) 

热点排行