- 浏览: 91088 次
文章分类
最新评论
1、排名函数
排名的几个分析函数 row_number rank dense_rank
语法:row_number() over(order by column)
重复的数据,不并列 比如 30,30,40 排名为3,4,5
语法:rank () over (order by b)
重复的数据,并列,占用下个排名 比如 30,30,40 排名 3,3,5
语法:dense_rank()over(order by cnt) d
重发的数据,并列,不占用下个排名 比如30,30,40 排名 3,3,4
注意:排名分析函数里的order by子句是必须的;partition by 和 order by后均可跟多列;只在没有partition by 的情况下, rownum才能做到和row_number同样的事情
select dept_id, sale_date, goods_type, sale_cnt, row_number()over(partition by
dept_id order by sale_cnt desc) rn, rank()over(partition by dept_id order by sale_cnt
desc) rk, dense_rank()over( order by sale_cnt,dept_id desc) drk
from lw_sales where trunc(sale_date,'MM')=date'2013-04-01'
2、相邻函数
相邻类分析函数 lag和lead
LAG 是取到排序后当前记录之前的记录
LEAD 是取到排序后当前记录之后的记录
select deptno, ename
, lag(ename,1,'AAA')over(partition by deptno order by ename) lower_name
, lead(ename,1,'ZZZ')over(partition by deptno order by ename) higher_name
from emp;
和相邻行比较
3、统计函数
相关统计分析函数 sum、avg、 max/min、first_value/last_value
按部门按月累加统计:
with t as (select dept_id, to_char(sale_date,'YYYY-MM') sale_month, sum(sale_cnt)
month_sale_cnt from lw_sales group by dept_id, to_char(sale_date,'YYYY-MM'))
select dept_id ,sum(month_sale_cnt) over (partition by dept_id order by sale_month) total from t
平均统计avg
最大最小max、min
排名的几个分析函数 row_number rank dense_rank
语法:row_number() over(order by column)
重复的数据,不并列 比如 30,30,40 排名为3,4,5
语法:rank () over (order by b)
重复的数据,并列,占用下个排名 比如 30,30,40 排名 3,3,5
语法:dense_rank()over(order by cnt) d
重发的数据,并列,不占用下个排名 比如30,30,40 排名 3,3,4
注意:排名分析函数里的order by子句是必须的;partition by 和 order by后均可跟多列;只在没有partition by 的情况下, rownum才能做到和row_number同样的事情
select dept_id, sale_date, goods_type, sale_cnt, row_number()over(partition by
dept_id order by sale_cnt desc) rn, rank()over(partition by dept_id order by sale_cnt
desc) rk, dense_rank()over( order by sale_cnt,dept_id desc) drk
from lw_sales where trunc(sale_date,'MM')=date'2013-04-01'
2、相邻函数
相邻类分析函数 lag和lead
LAG 是取到排序后当前记录之前的记录
LEAD 是取到排序后当前记录之后的记录
select deptno, ename
, lag(ename,1,'AAA')over(partition by deptno order by ename) lower_name
, lead(ename,1,'ZZZ')over(partition by deptno order by ename) higher_name
from emp;
和相邻行比较
3、统计函数
相关统计分析函数 sum、avg、 max/min、first_value/last_value
按部门按月累加统计:
with t as (select dept_id, to_char(sale_date,'YYYY-MM') sale_month, sum(sale_cnt)
month_sale_cnt from lw_sales group by dept_id, to_char(sale_date,'YYYY-MM'))
select dept_id ,sum(month_sale_cnt) over (partition by dept_id order by sale_month) total from t
平均统计avg
最大最小max、min
发表评论
-
17、nosql -- redis(一)简介
2015-04-01 11:09 483数据库发展史 --> 无库时代--> 层次状数据库 ... -
16、ER设计工具--powerdesigner
2015-03-30 14:09 1435entity-relationShip 1. 概念数据模型 ... -
15、pl/sql高级应用
2015-03-30 11:40 532now is null now is null now is ... -
13、oracle--sql 数字/日期/字符串/过滤函数
2015-03-30 00:08 1073常用的数据类型:数字(number|float)、日期(d ... -
12、oracle--查询/连接/层次查询
2015-03-28 08:49 451实例;http://www.1keydata.com/cn/s ... -
11、oracle--pl/sql
2015-03-28 00:16 551JDBC, 全称为Java DataBase Con ... -
11、深入学习Oracle
2015-03-22 14:24 0Oracle是个高并发的软件; -
11、oracle用户/权限管理
2015-03-14 21:25 0create user c##2015 identified ... -
10、oracle的卸载与安装
2015-03-15 20:10 686安装了oracle发现编码不对,想找/Home0注册表也没找到 ... -
9、实现行列转换
2015-03-15 20:10 427行转列: 1、通过Oracle数据库自带的wm_c ... -
8、concat(str1,str2)连接多个数据
2015-03-15 20:10 537ex ; select concat(region_na ... -
7、union并/intersect交
2015-03-15 20:10 496union 跟 jion 有些许类似,因为这两个指令都可 ... -
6、查询消除重复数据distinct
2015-03-15 20:09 605ex: select distinct name,id fr ... -
5、外联查询
2015-03-14 10:33 6261、左联 left join a.name = b.name ... -
4、truncate清空表保留表结构
2015-03-14 10:08 887ex: truncate table test 这是个d ... -
3、简单的crud语句
2015-03-14 10:00 3271、update ex: update repeat ... -
2、in的用法
2015-03-14 09:59 494select t.* from repeat t where ... -
###.什么是持久化?
2015-03-11 13:08 0<转>http://cuisuqiang.it ... -
lll数据异常
2015-03-04 17:06 0Duplicate column name 'cat_id' ... -
lll.mysql建表设置utf-8
2015-03-04 16:15 0CREATE TABLE message( id int(10 ...
相关推荐
在SQL查询中,这通常通过JOIN操作或窗口函数实现,如示例中的LEFT JOIN,以获取相邻记录的数据。 2. **同比/环比**:同比是指当前数值与去年同期数值的比较,而环比则是与前一时期数值的比较。在SQL中,同比可通过...
- 返回各部门工资排名在前面的员工:使用窗口函数进行排名计算。 - 计算出现次数最多的值:使用数据库提供的函数找出高频值。 - 求总和的百分比:计算总和的百分比并格式化输出。 7. 日期运算 - 加减日、月、年...
Oracle分析函数是数据库查询中非常强大的工具,它们用于处理复杂的报表和统计需求,特别是在在线分析处理(OLAP)环境中。分析函数与聚合函数的主要区别在于,聚合函数对每个组只返回一行结果,而分析函数则可以针对...
### SQL与Oracle面试知识点解析 #### 1. 冷备份与热备份的不同点及各自的优点 - **冷备份**:通常在数据库完全关闭的情况下进行,适用于全盘备份。其主要优点在于备份速度快、数据一致性高,恢复过程简单快速。缺点...
在"Oracle 110个常用函数"这个资料中,我们很可能会找到一系列关于Oracle SQL函数的详细解释。这些函数涵盖了从数学运算到字符串处理,再到日期和时间操作的各种功能。 1. 数学函数:包括ABS()用于返回绝对值,CEIL...
分析函数如`RANK()`、`DENSE_RANK()`和`ROW_NUMBER()`用于排序和排名,`LEAD()`和`LAG()`获取相邻行的值,`FIRST_VALUE()`和`LAST_VALUE()`获取窗口内的第一个和最后一个值。这些函数在复杂的数据分析和报表生成中...
通过熟练掌握Oracle分析函数,你可以实现更复杂的数据分析,如计算移动平均、差异、比率、排名等,这对于业务报告、数据分析和决策支持极其重要。了解如何有效地利用这些功能将极大地提升你的SQL查询能力和数据处理...
总的来说,Oracle分析函数提供了一种高效且灵活的方式来处理复杂的数据分析任务,它结合了窗口概念和强大的排序功能,使得SQL查询能够完成更复杂的统计计算,从而帮助用户更好地理解和处理数据库中的数据。
Oracle分析函数是一种强大的工具,它允许用户对数据进行复杂的查询和分析操作,这些操作远远超出了传统SQL的功能。与聚合函数不同,分析函数可以为每一组返回多行结果,这使得它非常适合进行更高级的数据统计和分析...
- 分析函数:RANK()、DENSE_RANK()、ROW_NUMBER()进行行编号,LEAD()和LAG()获取相邻行数据,FIRST_VALUE()和LAST_VALUE()获取首尾值。 - 分区函数:OVER()配合PARTITION BY实现窗口函数,用于计算每个分区内的...
分析函数作为Oracle数据库中一项高级功能,专为解决复杂报表统计需求设计,其核心优势在于能够对数据进行精细的分组处理后,计算基于这些分组的特定统计值。与传统的聚合函数不同,分析函数不仅能够实现分组统计,还...
开窗函数是SQL语言中的一个重要特性,它极大地增强了SQL的计算能力,特别是在处理复杂的排序、分组和统计问题时。开窗函数的概念起源于2003年ISO SQL标准,目的是解决传统SQL难以处理的复杂查询场景。Oracle、SQL ...
10. STDDEV, STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP, VARIANCE:这些都是统计函数,用于计算标准差、方差等,以了解数据的分散程度。 分析函数的关键在于 `OVER` 子句,它可以定义“窗口”或“框架”,在这个...
Oracle数据库中的分析函数是SQL查询中的重要工具,用于在数据集上执行聚合操作,并且能够对每个分组或行提供上下文相关的计算。这些函数在处理复杂的数据统计和报表展示时非常有用,能够帮助我们高效地获取所需信息...
Oracle分析函数是在SQL查询中处理分组数据的强大工具,它们可以在聚合函数之前对数据进行计算,提供了更精细的数据分析能力。常见的分析函数包括: 1. **RANK()**:为每个分组内的行提供唯一的排名。 2. **DENSE_...
- **流行的SQL开发工具**:市场上有许多优秀的SQL开发工具,如MySQL Workbench、SQL Server Management Studio、Oracle SQL Developer等。这些工具提供了丰富的功能,帮助开发者更轻松地编写和测试SQL代码。 - **...
### Oracle 分区表与分区索引详解 #### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并...
SQL(Structured Query ...以上只是SQL学习笔记中的部分要点,实际应用中还需要结合具体数据库系统(如MySQL、Oracle、SQL Server等)的特点和最佳实践。通过持续学习和实践,才能真正精通SQL,成为数据管理的高手。
Oracle中的LAG和LEAD函数是窗口函数(Window Function)的一部分,它们主要用于在数据集的行之间进行向前或向后的查找,以获取当前行之外的数据。这两个函数在数据分析、报表生成和业务智能应用中非常常见,特别是在...