sql 取兩值之間的數(shù)據(jù)方法(例:100-200之間的數(shù)據(jù))

這里只列舉3種我測(cè)試的方法,還有別的方案就由高手補(bǔ)上了,3種方案的效率也不競(jìng)相同,我一直認(rèn)為not in效率不好,但在這里使用not in速度最快,請(qǐng)高手補(bǔ)充說明,謝謝

題:取表table中100條-200條之間數(shù)據(jù)

方法1:臨時(shí)表
代碼如下:
select top 200 * into #aa from table order by time– 將top m筆插入 臨時(shí)表
set rowcount 100
select * from #aa order by time desc

–drop table #aa –刪除臨時(shí)表

方法2:
代碼如下:
select top 100 * from
(select top 200 * from table order by time asc) a
order by time 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種我測(cè)試的方法,還有別的方案就由高手補(bǔ)上了,3種方案的效率也不競(jìng)相同,我一直認(rèn)為not in效率不好,但在這里使用not in速度最快,請(qǐng)高手補(bǔ)充說明,謝謝

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享