sql取兩個值之間的資料方法(轉)

iSQlServer發表於2010-05-21

題:取表table中100條-200條之間資料

方法1:臨時表

select top 200 * into #aa from table order by id-- 將top m筆插入 臨時表
set rowcount 100
select * from #aa order by id desc

--drop table #aa --刪除臨時表

 

方法2:

select top 100 * from
(select top 200 * from table order by id asc) a
order by id desc

 

方法3:not in

select top 100 * from v_company where (
id not in
(select top 100 id from v_company order by id asc)
) order by id asc

 

這裡只列舉3種我測試的方法,還有別的方案就由高手補上了,3種方案的效率也不競相同,我一直認為not in效率不好,但在這裡使用not in速度最快

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-663378/,如需轉載,請註明出處,否則將追究法律責任。

相關文章