1樓:匿名使用者
取n到m行
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 臨時表(或表變數) from tablename order by columnname -- 將top m筆插入到臨時表
set rowcount n --只取n條結果
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裡沒有其他identity列,那麼:
先生成一個序列,儲存在一臨時表中.
select identity(int) id0,* into #temp from tablename
取n到m條的語句為:
select * from #temp where id0 > =n and id0 <= m
如果你在執行select identity(int) id0,* into #temp from tablename這條語句的時候報錯,那是因為你的db中間的select into/bulkcopy屬性沒有開啟要先執行:
exec sp_dboption 你的db名字,'select into/bulkcopy',true
5.如果表裡有identity屬性,那麼簡單:
select * from tablename where identity_col between n and m
6.sql2005開始.可以使用row_number() over()生成行號
;with cte as
(select id0=row_number() over(order by id),* from tablename
)select * from cte where id0 between n to m
2樓:路人花小白
select * from (select top 2000 * from a order by 1 desc) a limit 1000,-1
開始應該也可以用select limit吧
select * from a order by 1 desc limit 999,1000
3樓:
樓主的問題可能是資料庫本身的排序規則問題導致的,也就是說你每次select *後返回的排序不同。建議樓主在查詢時強制該表的排序試一下。
sql語句問題,SQL語句問題
sql語句 select a.姓名,a.計費id,b.單元編號,b.單金額,c,年月 from a,b,c where a.計費id b.計費id and b.單元編號 c.單元編號 說明 這個表結構其實b表是中間關係表,如果真實的資料結構就是這個樣子的話,那麼可能是資料量大並且經常需要查詢每個表,...
sql語句分組查詢前10條資料,sql如何實現分組並select出每組前10個
class classid classnameproduct classid proname numselect top 10 c.classid c.classname,sum p.num from class c,product p where p.classid c.classid group...
sql查詢語句
商品重量有字元肯定不可以直接獲得乘積,假設商品數量和商品重量分別欄位名 amount和weight,新獲取的值存在總克數total中,名稱trade,假設商品id 1,解決辦法如下 select amount cast substring weight,1,len weight 1 as float...