服務(wù)熱線(xiàn)
153 8323 9821
1.
select top m * from tablename where id not in (select top n id from tablename order by id asc/*|desc*/)
2.
select top m * into 臨時(shí)表(或表變量) from tablename order by columnname -- 將top m筆插入到臨時(shí)表
set rowcount n --只取n條結(jié)果
select * from 表變量 order by columnname desc
3.
select top n * from
(select top m * from tablename order by columnname) a order by columnname desc
4.如果tablename里沒(méi)有其他identity列,那么:
先生成一個(gè)序列,存儲(chǔ)在一臨時(shí)表中.
select identity(int) id0,* into #temp from tablename
取n到m條的語(yǔ)句為:
select * from #temp where id0 > =n and id0 <= m
如果你在執(zhí)行select identity(int) id0,* into #temp from tablename這條語(yǔ)句的時(shí)候報(bào)錯(cuò),那是因?yàn)槟愕腄B中間的select into/bulkcopy屬性沒(méi)有打開(kāi)要先執(zhí)行:
exec sp_dboption 你的DB名字, select into/bulkcopy ,true
5.如果表里有identity屬性,那么簡(jiǎn)單:
select * from tablename where identity_col between n and m
6.SQL2005開(kāi)始.可以使用row_number() over()生成行號(hào)
;with cte as
(
select id0=row_number() over(order by id),* from tablename
)
select * from cte where id0 between n to m