存取最新500條記錄,這樣的sql語名怎么寫?


有一表,它包有smalltime類型字段,
現在我要做的是:
原表中只保存最新的500條記錄,
其它記錄轉存到一個新表中,這個新表是以T+當前日期的月分命名的。
轉存以后,原表中最新500條以外的記錄,要刪除。

謝謝。

9 个解决方案

#1


select top 500 * from 表 order by 最新條件

#2


select top 500 * from mynewtable into mytalbe order by mytime desc
drop myoldtable

#3


drop table myoldtable

#4


declare @sql varchar(8000)
set @sql='select top 500 * into T'+convert(char(6),getdate(),112)+' from 表 where smalltime類型字段 not in (select top 500 smalltime類型字段 from 表 order by smalltime類型字段 desc'
exec(@sql)
delete 表 where smalltime類型字段 not in (select top 500 smalltime類型字段 from 表 order by smalltime類型字段 desc)

#5


1.
select top 500 * from table1 order by id desc
2.
select top 500 * from table1 order by edate desc

#6


select top 500 * from myoldtable into mynewtable order by mytime desc
drop myoldtable

#7


declare @nummax integer
select identity(int,1,1) as colxh,* into #temptb from tablename
select @num500 = max(colxh) - 500 from #temptb
delete from tablename where 主鍵列 not in (select 主鍵列 from #temptb where xh > @num500 )
drop  table #temptb

#8


top 500

#9


大力的已經達到你的要求了..

declare @sql varchar(8000)
set @sql='select top 500 * into T'+convert(char(6),getdate(),112)+' from 表 where smalltime類型字段 not in (select top 500 smalltime類型字段 from 表 order by smalltime類型字段 desc'
exec(@sql)
delete 表 where smalltime類型字段 not in (select top 500 smalltime類型字段 from 表 order by smalltime類型字段 desc)

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com