oracle翻页,排序字段重复,翻页结果重复 问题的解决方法


oracle 的翻页确实让人头疼,网上查资料发现不少翻页的sql 都是

select * from(
select my_table.*, rownum as my_rownum from
(
(业务sql语句) my_table
where rownum<=20
) where my_rownum>10
)

格式,这个sql如果在内层【业务sql语句】部分没有排序是没什么问题,但是如果有排序且排序字段有重复的,往往会出现翻页数据重复问题。

为什么?还没研究,先解决问题再说吧。

实验出两种处理翻页的方法,暂时没发现问题:

(1)是在【业务sql语句】排序条件中多加个唯一字段排序。

(2)

SELECT *

  FROM (SELECT t.*, rownum topn
          FROM (SELECT t.SHOP_NAME,
                       t.SHOP_ID,
                       t.SHOP_CAT,
                       t.SHOP_URL
                  FROM SHOP t
                 ORDER BY t.shop_rate DESC) t
         ORDER BY topn)

 WHERE topn <= 20  AND topn > 10;

方法(2)进行了两次排序,效率不如方法(1)


如有错误欢迎指正,有高手也欢迎给解释一下原因



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
风越.net代码生成器 [FireCode Creator] 是一款采用.Net FrameWork2.0框架、基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列、搜索功能。默认提供asp、aspx WEB程序、.net普通三层框架程序、.net Windows程序,多种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序的代码生成器。内置的.net代码框架,能建立C#语言的.net解决方案,可在VS2005中直接编辑,既能帮助.net初学者快速入门,更可最大限度提高.net程序员的代码编写效率。 01、支持生成的ASPX/ASP/PHP/JSP等页面在本机自动发布、调试(需安装IIS或对应WEB服务器) 02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据、视图(Access为查询)中读取数据字段 04、支持通过数据中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列 单选列 批量上载 上载文件 上载到库 07、支持多种信息显示方式: 显示文字 链接文件 文本框 文本域 显示图片 背景声音 视频播放 显示flash 08、支持检测提交字符的最小、最大输入长度、是否空值/唯一值、文本类型:★ 不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/间 仅日期+间 仅日期 仅间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 09、支持对用户输入内容进行服务器端与客户端JS双重验证,有效防止SQL注入 ★ 10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录同步删除文件 13、支持控件名加密,使输入控件的名称与字段名不同,防止他人从客户端HTML中猜解 ★ 14、支持列、搜索页面对数据记录进行实排序、修改、批量删除等功能 15、支持头/单独格搜索两种布局方式 16、提供多种灵活翻页方案,用户可设置每页记录条数、上/下页、前/后N页、输入数字跳转到指定页面等,提高海量数据翻页速度 17、提供丰富的建站常用VB、JS函数库 ★ 18、更多扩展功能: 添加、修改页面在保存信息前进行预览功能 添加、修改页面提交后自动跳转并刷新列字段描述批量格式化,可从字段名、描述生成,加强英文字符处理 列、搜索页面隔行颜色、点击变色设置 根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列中直接批量编辑字段值,便于管理员维护 列、搜索文件自动读取链接数据值的实际信息 发送邮件功能,设置字段为邮件对应信息,可发送附件 ★ (繁、简、英)单语言版本 ★ 多语言页面实翻译功能(默认:繁、简、英,可增加其它语言) ★ 多语言编码支持(GB2312/UTF8) ★ 生成提交校验码图片 ★ 搜索、列文件以详细列页(留言板风格)显示 生成权限,限制用户对指定页面的添加、删除、编辑权 将查询结果导出为CSV、HTML、EXCEL文件 ★ 生成不同选择字段SQL语句 生成数据库字典 ★ 模板代码生成器,可自定义模板、变量生成代码 ★

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值