Oracle实现Top查询,sql分页

由于Oracle中没有top关键字,这给分页的确带来了麻烦,好在有rownum这个属性,这个属性是查询的数据的行号,比如

Oracle实现Top查询,sql分页

下图中的第一列就是rownum的值,好了废话不多说,看看使用方法

SELECT *
FROM (SELECT ROWNUM ROWNO ,RESULT.*,
FROM TBL_DATA_RESULT RESULT)
WHERE ROWNO BETWEEN n AND m

没错语法就是这么的简单,只许进行嵌套查询就好了,可以看到,在里边一层的查询中除了查询我们要的列之外,加了一个rownum rowno这一列,这个就是重点

,在外层中通过对rowno进行行数的限制,便可以实现分页或者top的功能,当然也可以这么做

SELECT *
FROM (SELECT ROWNUM ROWNO ,RESULT.*,
FROM TBL_DATA_RESULT RESULT)
WHERE ROWNO=1

或者是

SELECT *
FROM (SELECT ROWNUM ROWNO ,RESULT.*,
FROM TBL_DATA_RESULT RESULT)
WHERE ROWNO<10

或者是

SELECT *
FROM (SELECT ROWNUM ROWNO ,RESULT.*,
FROM TBL_DATA_RESULT RESULT)
WHERE ROWNO>1 and ROWNO <10

赶快试试吧