您的位置:首页 > 数据库 > Oracle

oracle 分页 order by 问题

2012-02-03 16:49 218 查看
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM SCENERY_INFO ORDER BY is_check )A
WHERE ROWNUM <= 280
)

WHERE RN >= 260


问题:主排序项数据多重复,则 分页数据重复、

解决办法 :就是一定要用ID主键排序。不管前面有多少个order by字段,最后面一定要加上ID主键:

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM SCENERY_INFO ORDER BY is_check asc,id asc)A
WHERE ROWNUM <= 280
)

WHERE RN >= 260


先前的一个解决方法因数据太少,导致判断错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: