SQL/Oracle取出第 m 条到第 n 条记录的方法
2015-05-30 16:46
344 查看
SELECT * FROM
(
SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM <= M AND 其它查询条件 ORDER BY 排序条件
)
WHERE CON >=N;
用一句SQL取出第 m 条到第 n 条记录的方法
用一句SQL取出第 m 条到第 n 条记录的方法
从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)
SELECT TOP n-m+1 *
FROM Table<
4000
br style="color:rgb(51,51,51);font-family:Arial;font-size:14px;line-height:26px;" />
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为表名
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
#1楼 [楼主] 2007-03-02 10:38 Athrun
直接取得数据库中的分页记录
前提是表中必须有主键
取得第M条记录之后的N条记录:
SELECT TOP N *
FROMWHERE (ID NOT INORDER BY [ORDER]))ORDER BY [ORDER]
(
SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM <= M AND 其它查询条件 ORDER BY 排序条件
)
WHERE CON >=N;
用一句SQL取出第 m 条到第 n 条记录的方法
用一句SQL取出第 m 条到第 n 条记录的方法
从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)
SELECT TOP n-m+1 *
FROM Table<
4000
br style="color:rgb(51,51,51);font-family:Arial;font-size:14px;line-height:26px;" />
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为表名
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
#1楼 [楼主] 2007-03-02 10:38 Athrun
直接取得数据库中的分页记录
前提是表中必须有主键
取得第M条记录之后的N条记录:
SELECT TOP N *
FROM