從第11條記錄起,取查詢結果的10條

2021-04-02 12:00:56 字數 705 閱讀 5662

用top關鍵字可以實現取查詢結果的前n條  

如果我要從第11條記錄起,取查詢結果的10條,即是說取11-20條記錄  

select  itendity(int,1,1)  as  id,  *  into  newtable  from  youtable

go  

select  *  from  newtable  where  id  >=  11  and  id  <=  20  

該方法不太實用,耗時多,效率低,而且如果原表中有identity列就不行了

找到乙個字段用來排序,  

select  top  10  from

(select  top  20  *  from  t  order  by  f)  t1  

order  by  f  desc  

該方法比較巧妙,對於排序的情況很實用

排序的結果有了變化,如保持原樣,有一唯一的id  

可以這樣10~~20  

select  top  10  *  from  t1

where  id  not  in  (select  top  10  id  from  t1)  

-------------------------------  

mysql中可以在select語句中用limit關鍵字來選取中間結果,看來  

在mssql中要花點功夫才行

從表中取20 30條記錄的SQL語句

mysql的方法 mysql select from student limit 20,10 sid studentid age name 21 00010014 13 10014 0 22 00010015 16 10015 2 23 00010016 27 10016 0 24 00010017...

從Table 表中取出第 m 條到第 n 條的記錄

從table 表中取出第 m 條到第 n 條的記錄 not in 版本 select topn m 1 from table where id notin select topm 1 id from table 從table表中取出第m到n條記錄 exists版本 select topn m 1 f...

從Table 表中取出第 m 條到第 n 條的記錄

從table 表中取出第 m 條到第 n 條的記錄 從table 表中取出第 m 條到第 n 條的記錄 not in 版本 select top n m 1 from table where id not in select top m 1 id from table 從table表中取出第m到n條...