`
joe_zhjiang
  • 浏览: 156112 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oralce分页排序优化

阅读更多
以下的文章主要是对Oracle 排序中的几种常用排序的介绍,你会发现Oracle 排序是一件很有意思的事,以下就是文章的具体内容的描述,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。

按拼音排序 (系统默认)


select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M'); 按部首排序


select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_STROKE_M'); 按笔画排序


select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_RADICAL_M'); 排序后获取第一行数据


select * from (select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M') )C where rownum=1 降序排序


select * from perexl order by zongrshu desc Oracle 排序中的升序排序


select * from perexl order by zongrshu asc 将nulls始终放在最前


select * from perexl order by danwei nulls first 将nulls始终放在最后


select * from perexl order by danwei desc nulls last decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特定值


select * from perexl order by decode(danwei,null,'单位是空', danwei) 标准的rownum分页查询使用方法


select *from (select c.*, rownum rn from personnel c)where rn >= 1and rn <= 5 在Oracle语句rownum对Oracle 排序分页的解决方案

但是如果, 加上order by 姓名 排序则数据显示不正确

select *from (select c.*, rownum rn from personnel c order by 出生年月)where rn >= 1and rn <= 5

解决方法,再加一层查询,则可以解决

select *from (select rownum rn, t.*from (select 姓名, 出生年月 from personnel order by 出生年月 desc) t)where rn >= 1and rn <= 5

如果要考虑到效率的问题,上面的还可以优化成(主要两者区别)

select *from (select rownum rn, t.*from (select 姓名,出生年月 from personnel order by 出生年月 desc) t where rownum <= 10) where rn >= 3

nvl函数可以将输入参数为空时转换为一特定值,下面就是当单位为空的时候转换成“单位是空”

select * from perexl order by nvl(danwei,'单位是空')

分享到:
评论

相关推荐

    解决Oracle分页查询中排序与效率问题

    解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...

    《Oracle DBA手记——数据库诊断案例与性能优化实践》第一章 to be continued

    ├─第一篇 DBA工作手记 │ 01.Eygle的DBA工作手记 │ 02.Yangtingkun的DBA工作手记 │ 03.老熊的DBA手记 │ 04.BanPing的DBA工作手记 │ ├─第二篇 诊断案例篇 │ 01.ASM案例分析与诊断 ...一次排序的调整与优化

    优化过的分页存储过程

    优化过的分页过程,保证排序列有唯一键索引的话(如主键),数据量上了几十万仍然很快。

    Oracle查询总结与优化

    p_SqlSelect varchar2, --查询语句,含排序部分 p_OutRecordCount out int,--返回总记录数 p_OutCursor out refCursorType) as v_sql varchar2(3000); v_count int; v_heiRownum int; v_lowRownum int; begin ...

    大数据量翻页查询的一点经验

    一共有十个字段,有四个字段需要排序,每个字段都可能出现在查询条件中,每次查询所有的字段必须都查询出来,可以查询三天之内的数据,没有和其他表的连接。此例只举单表查询。多表查询稍加改造即可。

    收获不止SQL优化

    11.2.3 表连接是否有排序 311 11.2.4 各连接的使用限制 314 11.2.5 三大表连接的特性总结 317 11.3 从案例学表连接优化要点 (三刀三斧四式走天下) 317 11.3.1 一次Nested Loops Join的优化全过程 318 11.3.2...

    一个基于SSM的通用后台管理系统源码+数据库,可以快速接入到自己系统中,包含账号,角色,服务器管理,日志等相关功能

    一个基于SSM的通用后台管理系统,可以快速接入到自己系统中,包含账号,角色,服务器管理,日志等相关功能,可以简化项目开发难度 ...优化: 此版本不再使用前版本在dao层创建session方法来进行数据...8:新增支持oracle分页实现

    CMS V4.6.2 Access版源码20131011

    CMS V4.6.2 Access版源码 源码描述: 当前程序版本:PlugNT CMS 源码版 v4..6.2 已实现数据库接口 Access / SQL Server / Oracle ...6.优化模型内容列表页多列排序功能 7.完善论坛插件功能。 8.完善B2C商城插件功能。

    PlugNT CMS v4.6.2

    PlugNT CMS V4.6.2 Access版源码源码描述:当前程序版本:PlugNT CMS 源码版 v4..6.2已实现数据库接口 Access / SQL Server / Oracle已预留数据库接口 MySql当前数据库的接口 AccessPlugNT CMS 是一款免费开源ASP...

    sqltoy-orm是比hibernate+myBatis(plus)更加贴合项目的orm框架(依赖spring)

    Java真正智慧的ORM框架,除具有JPA功能外,具有最佳的sql编写模式、独创的缓存翻译、最优化的分页、并提供分组汇总、同比环比、行列转换、树形排序汇总、多数据库适配(oracle\mysql\sqlserver\postgresql\sqlite\db2...

    sagacity-sqltoy-5.2.zip

    Java真正智慧的ORM框架,除具有JPA功能外,具有最佳的sql编写模式、独创的缓存翻译、最优化的分页、并提供分组汇总、同比环比、行列转换、树形排序汇总、多数据库适配(oracle\mysql\sqlserver\postgresql\sqlite\db2...

    程序员的SQL金典6-8

     4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合...

    程序员的SQL金典7-8

     4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合...

    程序员的SQL金典4-8

     4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合...

    程序员的SQL金典3-8

     4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合...

    SQL培训第一期

    create tablespace TS_DJY datafile 'd:/software/oracle/tablespace/ts_djy.dat' size 1024M autoextend on next 100M maxsize 2048M; 2.1.1.2 指定用户表空间 alter user cssdj default tablespace TS_DJY; 2.1....

    程序员的SQL金典.rar

     4.4.6 数据库分页  4.5 抑制数据重复  4.6 计算字段  4.6.1 常量字段  4.6.2 字段间的计算  4.6.3 数据处理函数  4.6.4 字符串的拼接  4.6.5 计算字段的其他用途  4.7 不从实体表中取的数据  4.8 联合...

    asp.net知识库

    优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的...

Global site tag (gtag.js) - Google Analytics