- 浏览: 385799 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (314)
- java (132)
- 生活 (13)
- javase模式 (6)
- weblogic (4)
- jquery (5)
- sql (21)
- ecside (1)
- el (3)
- css (5)
- spring (7)
- ireport (2)
- linux (14)
- struts2 (2)
- jstl (1)
- rmi (1)
- rose (9)
- js (6)
- swing (4)
- webservice (1)
- jboss (1)
- ejb3 (2)
- xml (1)
- 线程 (9)
- socket (3)
- jms (2)
- tomcat (10)
- 领域驱动 (3)
- json (3)
- 权限 (2)
- jvm (1)
- 书籍 (1)
- eclipse RCP (0)
- 数据库设计 (10)
- 软件分析建模 (5)
- 分析建模 (3)
- hibernate jpa (5)
- Java 获取系统信息,包括CPU使用率、硬盘大小、网卡状态、系统信息等 (1)
- 项目管理 (2)
- 财务 (0)
- oracle (2)
- 需求 (2)
- rcp gef (0)
- c++ (1)
- hadoop (2)
- BIGDATA (3)
- c (6)
最新评论
-
lh_kevin:
...
jpa 注解 -
一别梦心:
你好,我也遇到此问题了。就你贴的那段代码,你说了两种解决方式, ...
Hibernate的Antlr在Weblogic中产生Jar冲突的历史缘故以及解决办法 -
fireinjava:
...
el表达式 -
宋建勇:
...
JSON: property "xxx" has no getter method in class "..." -
handawei:
有道理,jpa是orm框架的java标准,它关注的是对象到关系 ...
jpa 注解
rank() over (order by XX):
/*********** 这个sql可以看出 rank其实就是拿当前的一列和别的行相同的列进行排列 */ select t.amount ,rank() over (order by t.amount desc) as rank from all_sales t where t.year=2003 and t.amount is not null order by t.amount desc
结果为:
1 32754.19 1 2 29057.45 2 3 27264.84 3 4 25214.56 4 5 25057.45 5 6 24137.83 6 7 24057.45 7 8 23754.19 8 9 23264.84 9 10 22754.19 10 11 22754.19 10 12 22137.83 12
加上group by
select t.prd_type_id ,sum(amount) --有没有sum(amount)都是一样的。 ,RANK() OVER(ORDER BY avg(amount) desc )as rank --它的意思是在此分组的情况下 此时sum(amount)和别的行的sum(amount)的排列 ,DENSE_RANK() OVER (ORDER BY SUM(amount) desc) as dense_rank --排列相同的情况下,也有编号 from all_sales t where t.year=2003 and t.amount is not null group by t.prd_type_id order by t.prd_type_id
结果:
1 1 905081.84 1 1 2 2 186381.22 4 4 3 3 478270.91 2 2 4 4 402751.16 3 3
结合partition by子句使用:
select t.prd_type_id ,t.month ,sum(amount) ,rank() over(partition by t.month order by sum(t.amount) desc) as rank --加上了partition说明 month这列是子分组,排列是按照 t.prd_type_id,和sum(t.amount)来进行排列的 from all_sales t where t.year=2003 and t.amount is not null group by t.prd_type_id,t.month --(1)总的来说是按照 2列来进行分组查找的, order by t.prd_type_id,t.month
这也说明分组最少要有2组使用partition 才有意义,如果是一组,去掉一个子分组 就是分组那个组,等于没分组。
结果:
1 1 1 38909.04 1 2 1 2 70567.9 1 3 1 3 91826.98 1 4 1 4 120344.7 1 5 1 5 97287.36 1 6 1 6 57387.84 1 7 1 7 60929.04 2 8 1 8 75608.92 1 9 1 9 85027.42 1 10 1 10 105305.22 1 11 1 11 55678.38 1 12 1 12 46209.04 2 13 2 1 14309.04 4 14 2 2 13367.9 4 15 2 3 16826.98 4 16 2 4 15664.7 4 17 2 5 18287.36 4 18 2 6 14587.84 4 19 2 7 15689.04 3 20 2 8 16308.92 4 21 2 9 19127.42 4 22 2 10 13525.14 4 23 2 11 16177.84 4 24 2 12 12509.04 4 25 3 1 24909.04 2 26 3 2 15467.9 3 27 3 3 20626.98 3 28 3 4 23844.7 2 29 3 5 18687.36 3 30 3 6 19887.84 3 31 3 7 81589.04 1 32 3 8 62408.92 2 33 3 9 46127.42 3 34 3 10 70325.29 3 35 3 11 46187.38 2 36 3 12 48209.04 1 37 4 1 17398.43 3 38 4 2 17267.9 2 39 4 3 31026.98 2 40 4 4 16144.7 3 41 4 5 20087.36 2 42 4 6 33087.84 2 43 4 7 12089.04 4 44 4 8 58408.92 3 45 4 9 49327.42 2 46 4 10 75325.14 2 47 4 11 42178.38 3 48 4 12 30409.05 3
发表评论
-
关于Union 中 ORA-12704:字符集不匹配问题的解决 .
2012-11-05 18:23 4455zhuan:http://blog.csdn.net/lqh4 ... -
oracle解锁
2012-06-19 17:04 794查看锁表进程SQL语句1: select sess.sid, ... -
Oracle集合操作函数:Union、Intersect、Minus
2012-02-17 16:19 1290集合操作不适用于LOB,Varray和潜逃表列 Unio ... -
Merge用法:Oracle 10g中对Merge语句的增强
2012-02-17 16:05 1100Merge用 ... -
数据库优化
2011-12-19 14:17 858转:http://www.iteye.com/topic/11 ... -
导入导出,创建databaselink
2011-08-10 15:56 2124pl/sql导出表结构和表 ... -
oracle改错
2011-02-09 12:19 1375系统运行了一段时间 ... -
dba常用sql
2010-12-16 17:19 11721. 查看表空间的名称及大小 select t.tablesp ... -
Oracle语句优化53个规则详解(转载)
2010-12-15 11:41 860Oracle语句优化53个规则 ... -
表修改
2010-11-17 23:12 839使用 字符串中使用’ Insert into product ... -
报表函数
2010-11-17 22:06 795报表函数: 总计: select 1 ,t.month ... -
窗口函数
2010-11-16 21:32 1020为计算一定的范围的累积和移动平均值,可以结合聚合函数使用:su ... -
orace评级函数
2010-11-15 22:35 1074cume_dist(): 功能描述:计算一行在组中的相对位置 ... -
orcel sql 技巧
2010-11-14 23:05 1441转载:http://www.iteye.com/topic/8 ... -
oracle
2010-10-11 10:17 759今天没事来说说oracle性能优化的技巧。。 1.选用适合的 ... -
sql优化设定
2010-09-02 10:41 866select /*+RULE*/ m.daterunid ... -
ORACLE 中IN和EXISTS比较
2010-08-23 09:49 641EXISTS的执行流程 select * from ... -
rank over pation
2010-08-11 11:11 1240排列(rank())函数。这些排列函数提供了定义一个集合(使用 ... -
group
2010-05-30 16:50 774select t.startstncode ,sum ... -
查询优化
2010-04-08 10:14 1102一、SQL语句优化:1: exists ...
相关推荐
Orace Essbase数据仓库函数大全,具有详细的函数说明和使用方法
### Orace与SQL常用函数对照知识点详解 #### 一、ASCII 函数 - **功能**:返回与指定的字符相对应的十进制数值。 - **语法**:`ASCII(字符)` - **示例**: - `SELECT ASCII('A') A, ASCII('a') a, ASCII('0') zero...
Oracle数据库是世界上最广泛使用的数据库系统之一,其丰富的函数集使得数据处理变得更为高效。本压缩包文件"oracle常用函数.rar"包含了一些关于Oracle数据库的重要知识点,主要包括“connect by”用法、SQL优化以及...
### Oracle分析函数详解 #### 一、概述 Oracle分析函数是一种强大的工具,它允许用户对查询结果进行复杂的分析处理,而无需多次查询数据库或编写复杂的程序逻辑。这大大简化了开发人员的工作,尤其是在处理大数据...
orace性能优化
stampgis连接orace数据库监听配置
- Oracle提供了`MAX`, `MIN`, `AVG`, `SUM`, `COUNT`等聚合函数用于数据统计,如:`SELECT MAX(sal), MIN(sal) FROM emp;` - 结合`GROUP BY`子句进行分组统计,如:`SELECT AVG(sal), MAX(sal), deptno FROM emp ...
Oracle RAC,全称为Real Application Clusters,是Oracle数据库的一项高级特性,用于构建高可用性和高性能的数据库集群。Oracle RAC允许多个服务器节点共享同一份物理数据库,从而提供连续的服务和负载均衡。...
3. **函数与过程**:在Oracle中,函数和过程是PL/SQL编程的一部分,它们可以用来封装复杂的业务逻辑。函数返回一个值,而过程不返回值,但可以修改数据库状态。熟悉如何创建、调用和管理这些函数和过程是提高数据库...
### Oracle 数据库导入导出详解 #### 一、Oracle 导出(Export)操作 **1.... 在Oracle中,我们可以通过`exp`命令来进行数据库的导出工作。若要将一个名为`TEST`的数据库进行完全导出,可以使用以下命令: ...
### Oracle EBS 财务模块操作手册关键知识点解析 #### 一、系统应用介绍 **1.1 系统配置和安装** - **配置 Hosts 文件:** - 在 Windows 目录下查找 `Hosts` 文件,通常位于 `C:\WINNT\system32\drivers\etc\...
"Orace数据导出文件版本兼容修改工具"就是为了解决这一特定问题而设计的。 该工具的主要功能是调整DMP文件的内部结构,使其符合目标数据库版本的要求。在Oracle数据库系统中,DMP文件是由`expdp`(数据泵导出)命令...
3. Function-based索引:基于列的函数结果创建索引,用于优化包含函数的查询。 4. Clustered索引:数据行的物理顺序与索引顺序相同,提升范围查询性能。 六、Oracle安全性 Oracle提供了丰富的安全特性,如: 1. ...
- **索引优化**:何时使用B树索引、位图索引、函数索引,以及分区索引的优势。 - **绑定变量**:理解其对执行计划的影响,以及如何避免绑定变量漂移。 - **SQL重写**:通过SQL Profiles和SQL Plan Baselines来...
5. 查询与分析:介绍SQL查询优化技巧,以及使用Oracle的分析函数和OLAP功能进行深度分析。 6. 性能监控与调优:讲解如何监控数据仓库的性能,识别瓶颈,并实施相应的优化策略。 7. 安全管理:讨论如何设置权限,...
在Oracle数据库管理中,数据导入导出是至关重要的操作,特别是在数据迁移、备份与恢复、系统复制等场景中。Oracle提供了多种工具来实现这一目的,其中最常用的是`expdp`(Export Data Pump)和`impdp`(Import Data ...