首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Oracle中,对怎么对排序后的结果进行分页显示

2012-01-07 
Oracle中,对如何对排序后的结果进行分页显示表1姓名   年龄  分数张三    12   50李四    10   90王五    

Oracle中,对如何对排序后的结果进行分页显示
表1
姓名   年龄  分数
张三    12   50
李四    10   90
王五    15   10
张平    10   70

以分数排序
结果要求每次显示二条
-------------------------------

第一次显示
姓名   年龄  分数
李四    10   90
张平    10   70
---------------
第二页显示
姓名   年龄  分数
张三    12   50
王五    15   10


但我的得到的结果是:
-------------------
第一次显示
姓名   年龄  分数
张三    12   50
李四    10   90

第二页显示
姓名   年龄  分数
王五    15   10
张平    10   70

请问要怎样才能得到我要的结果

[解决办法]
应该是需要使用rownum伪列
[解决办法]
我想lz的分页用的就是rownum的方法,只是子查询的order by 有问题!!order by 一定要order by unique的column,没有的话,就加个rowid字段

SELECT * FROM (select row_.*, rownum start_rownum_ from (
--符合需要的子查询
) row_ WHERE rownum <= ? ) WHERE start_rownum_ > = ?
[解决办法]
错了,是
select t.姓名,年龄,分数
from ( select row_number() over(order by 分数 desc) rn, 姓名, 年龄, 分数
from 表1 ) t
where t.rn > (&页码 - 1) * &每页行数
and t.rn <= &页码 * &每页行数

热点排行