1. 程式人生 > >SQLServer中的分頁方法(代替mysql裡的limit)

SQLServer中的分頁方法(代替mysql裡的limit)

SQL中的分頁方法:  
   
   
  查詢第X頁,每頁Y條記錄  
   
  最基本的處理方法:  
   
  如果表中有主鍵(記錄不重複的欄位也可以),可以用類似下面的方法,當然y,(x-1)*y要換成具體的數字,不能用變數:  
   
  select   top   y   *   from   表   where   主鍵   not   in(select   top   (x-1)*y   主鍵   from   表)  
   
   
   
  如果表中無主鍵,可以用臨時表,加標識欄位解決.這裡的x,y可以用變數.  
   
  select   id=identity(int,1,1),*     into   #tb   from   表  
  select   *   from   #tb   where   id   between   (x-1)*y   and   x*y-1