Heim >Datenbank >MySQL-Tutorial >用一条SQL语句取出第 m 条到第 n 条记录的方法

用一条SQL语句取出第 m 条到第 n 条记录的方法

WBOY
WBOYOriginal
2016-06-07 14:54:451149Durchsuche

用一条SQL语句取出第 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条记录 (Exists版本) SELECT

用一条SQL语句取出第 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条记录 (Exists版本)
  
  SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists
  (Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id ) 
  Order by id
 
 
  --m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名,Temp为临时表
 
  Select Top n-m+1 * From Table 
  Where Id>(Select Max(Id) From 
  (Select Top m-1 Id From Table Order By Id Asc) Temp) 
  Order By Id Asc

  --找出升序的第m到第n条记录,更为笨拙的办法是

  Select * From 
  (Select Top n-m+1 * From (Select Top n * From 表名 Order By id Desc) t1 Order By id) t2 
  Order By id 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:SQL导出为Excel表Nächster Artikel:枚举SQL中的Agent代理