ORACLE中查询第n条到第m条的数据记录的方法 | 您所在的位置:网站首页 › 1到200的表格 › ORACLE中查询第n条到第m条的数据记录的方法 |
一、经过测试,下面的方法通过:
SELECT * FROM ( SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM =N;
二、参考其它网上的方法
SQL/Oracle取出第 m 条到第 n 条记录的方法 用一句SQL取出第 m 条到第 n 条记录的方法 用一句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为表名 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 [TABLE] WHERE (ID NOT IN (SELECT TOP M id FROM [TABLE] ORDER BY [ORDER])) ORDER BY [ORDER] Oracle中的实现,取得第M到N条记录: SELECT * FROM ( SELECT * , ROWNUM AS CON FROM ( SELECT * FROM [TABLE] ORDER BY [ORDER] ) WHERE ROWNUM = M; 回复 引用 查看 查询表中连续的某几条记录 不要传任何列的条件参数,查询表中连续的某几条记录 如:表A,id列为主键 id name sex age ------------------------- 1 luoyi male 21 2 yaya female 20 3 lili female 22 4 wuyong male 25 ....................... 这个表的记录还有很多,如果我想取第二、第三条记录,不为别的,我就想要这两条,这不仅在编程中会用到,而且在一些公司面试时也有类似考题(呵呵,我没有遇到过),在oracle和mssqlserver中SQL代码分别为: 一、Oracle 在oracle中不能用top关键字,而用rownum,有两种方法可以实现 1.(select * from A where rownum |
CopyRight 2018-2019 实验室设备网 版权所有 |