- 浏览: 92265 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (139)
- oracle基础 (27)
- oracle sql编程及优化 (14)
- ELK (4)
- java (11)
- java设计模式 (0)
- 互联网知识 (6)
- 安装MongoDB (1)
- MongoDB (0)
- spark (1)
- scala (1)
- spring boot (3)
- spring cloud (8)
- redis (6)
- virtualbox (3)
- docker (7)
- rabbitmq (0)
- rocketmq (2)
- k8s (8)
- ubuntu (11)
- centos (3)
- mysql (4)
- nginx (7)
- tomcat (5)
- postman (1)
- other (10)
最新评论
-
lihao312:
insert all功能好强大哦 之前都没有用到过
oracle 多表插入 insert all 用法(即列转行)
rank,dense_rank,row_number 函数都是为每条记录产生一个从1开始至N的自然数,N的值可能小于等于记录的总数。这3个函数的唯一区别在于,当碰到相同数据时的排名策略。
语法:rank() over(partition-clause order-by-clause)
rank:
rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条记录排名之间空出排名。
dense_rank:
dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。
row_number:
row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
建表如下:
create table SMALL_CUSTOMERS(CUSTOMER_ID NUMBER,SUM_ORDERS NUMBER); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (1000, 10); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (1000, 20); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (1000, 30); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (800, 5); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (800, 10); insert into SMALL_CUSTOMERS (CUSTOMER_ID, SUM_ORDERS) values (800, 1);
具体用法如下:
select customer_id, sum_orders, row_number() over(order by sum_orders desc) rowNumber, rank() over(order by sum_orders desc) rank, dense_rank() over(order by sum_orders desc) denseRank from small_customers t;
也可以进行分组:
select customer_id, sum_orders, row_number() over(partition by customer_id order by sum_orders desc) rowNumber, rank() over(partition by customer_id order by sum_orders desc) rank, dense_rank() over(partition by customer_id order by sum_orders desc) denseRank from small_customers t;
发表评论
文章已被作者锁定,不允许评论。
-
oracle rman
2014-06-30 15:14 4491. 检查数据库模式: sqlplus /nolog ... -
Oracle Scheduler Chain 的用法
2014-06-15 22:10 0Oracle CHAIN,也就是链,是将一串需要完成的作业连 ... -
oracle 热备脚本
2014-06-08 22:59 0oracle 热备脚本 -
表空间传输
2014-05-25 23:27 2042http://www.linuxidc.com/Linux ... -
sqlplus 基本命令
2014-05-21 18:01 577SQL> show all --查看所有68个系统变 ... -
undo 文件丢失的数据库恢复
2014-05-19 14:55 11621.连接数据库 sqlplus /nolog con ... -
oracle日志文件损坏时,用隐含参数启动:_allow_resetlogs_corruption
2014-05-17 10:06 1474Oracle隐含参数:_allow_resetlogs_c ... -
Oracle TYPE OBJECT 用法
2012-11-05 15:46 0Oracle TYPE OBJECT 用法 -
如何降低Oracle表的高水位
2012-11-05 15:39 0如何降低Oracle表的高水位 -
Oracle外部表
2012-11-06 17:10 588转载:Oracle外部表4 Oracle外 ... -
ORACLE删除重复记录方法
2012-11-05 15:32 0转载:ORACLE删除重复记录方法 -
oracle table()函数用法
2012-11-05 15:31 0转载:oracle table()函数用法 -
关于Oracle建物化视图的总结
2012-11-05 15:31 0转载:关于Oracle建物化视图的总结 -
全面学习ORACLE Scheduler特性
2012-11-05 15:58 592转载:全面学习ORACLE Scheduler特性 -
WITH子句与未公开HINT MATERIALIZE联合使用, 取代临时表
2012-11-05 15:11 0转载:WITH子句与未公开HINT MATERIALIZE联 ... -
如何找回Oracle数据库初始化密码
2012-11-05 15:03 0转载:如何找回Oracle数据库初始化密码 -
ORACLE EXP和IMP浅谈
2012-11-05 15:03 0转载:ORACLE EXP和IMP浅谈 oracl ... -
Oracle SQL Loader
2012-11-05 14:55 0引用:Oracle SQL Loader -
oracle flashback介绍
2012-11-05 16:01 697引用:Flashback Table之RECYCLEBIN ... -
oracle v$视图
2012-10-26 14:16 0v$locked_object 查看锁定的会话 ...
相关推荐
分析函数2(Rank, Dense_rank, row_number);分析函数3(Top/Bottom N、First/Last、NTile);窗口函数;报表函数;分析函数总结;26个分析函数;PLSQL开发笔记和小结;分析函数简述 ROW_NUMBER () OVER([partition_clause]...
Oracle的分析函数还包括`ROW_NUMBER`, `RANK`, `DENSE_RANK`用于行号分配,`LEAD`, `LAG`用于获取前后行数据,`FIRST_VALUE`, `LAST_VALUE`获取窗口范围内的第一个或最后一个值,以及`NTILE`进行分桶等。这些函数在...
- **Rank, Dense_rank, row_number**: 这三个函数都用于对行进行排序并分配唯一的数字。`RANK()`和`DENSE_RANK()`的区别在于处理相同值时是否跳过编号,`ROW_NUMBER()`则为每一行提供一个连续的唯一编号。 - **Top...
Oracle提供了26个内置的分析函数,包括`AVG()`, `COUNT()`, `MAX()`, `MIN()`, `SUM()`, `LEAD()`, `LAG()`, `RANK()`, `DENSE_RANK()`, `ROW_NUMBER()`等,每个都有其独特的用途和用法,熟练掌握这些函数可以显著...
- **RANK, DENSE_RANK, ROW_NUMBER**:这三个函数都用于为每行分配一个唯一的排名,区别在于RANK在有相同值时跳过排名号,DENSE_RANK不跳过,ROW_NUMBER则为每行分配连续的数字。 - **Top/Bottom N、First/Last**...
- `RANK()`, `DENSE_RANK()`, `ROW_NUMBER()`:这三种函数用于为每一行分配一个唯一的序号,区别在于`RANK()`在有相同值时跳过序号,`DENSE_RANK()`不跳过,`ROW_NUMBER()`始终连续。 - `TOP/N Bottom N`:可以...
Oracle提供了26个内置的分析函数,包括`SUM()`, `COUNT()`, `AVG()`, `MIN()`, `MAX()`, `LAG()`, `LEAD()`, `CUME_DIST()`, `PERCENT_RANK()`, `RANK()`, `DENSE_RANK()`, `ROW_NUMBER()`, `NTILE()`, `FIRST_...
10. **窗口函数**:ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD()等在分组查询和数据分析中提供了更高级的计算能力。 通过"三思笔记之Oracle函数",读者可以全面了解并掌握Oracle数据库中的各种函数,提升在...
1. **RANK()**、**DENSE_RANK()**和**ROW_NUMBER()**:为每一行分配一个唯一的排名。 2. **LEAD()**和**LAG()**:获取当前行的后续或前一行的数据。 3. **SUM()**和**AVG()**:对分区内的数据进行累计求和和平均值...
2. Rank, Dense_rank, row_number函数: 这些函数用于对数据进行排名。`ROW_NUMBER()`为每一行分配一个唯一的数字,`RANK()`和`DENSE_RANK()`也做类似的事情,但处理并列情况时有所不同。`RANK()`在遇到并列时会跳...
2. 分区函数:如RANK、DENSE_RANK、ROW_NUMBER,用于在分组后的数据中为每一行分配一个唯一的排名。 3. LAG和LEAD函数:向前或向后查看相邻行的数据,常用于分析和预测。 4. FIRST_VALUE和LAST_VALUE函数:获取每个...
Oracle提供了多种分页查询的方法,如ROWNUM、ROW_NUMBER()、RANK()、DENSE_RANK()等。韩顺平老师的课堂笔记会解析这些方法的原理和使用场景,帮助读者理解如何有效地实现分页查询,优化查询性能,同时避免全表扫描。...
通过这份"数据库培训笔记",学习者不仅可以掌握分析函数和内置函数的基本用法,还能了解如何在实际业务场景中应用这些功能,提升对Oracle数据库的管理和开发能力。无论是进行复杂查询、数据分析还是优化性能,这些...
本文主要探讨了在PL/SQL中使用的一些Oracle分析函数,尤其是评级函数,它们在数据分析和报表制作中扮演着重要角色。 1. **评级函数**: - **RANK()**:此函数根据指定的排序条件对数据进行排名。如果有相同值,它...
在Oracle中,还有更高级的集合函数,如GROUP BY和HAVING用于分组查询,以及分析函数如RANK、DENSE_RANK和ROW_NUMBER,它们在处理复杂数据聚合和排序时非常有用。 总结来说,"Oracle学习笔记"涵盖了Oracle数据库的...
1. **数据仓库优化**:Oracle 11g引入了Advanced Analytics选项,包括新的SQL分析函数,如RANK()、DENSE_RANK()和ROW_NUMBER(),以及窗口函数,极大地提升了数据分析能力。 2. **自动存储管理(ASM)**:Oracle 11g...