`

窗口函数

    博客分类:
  • sql
 
阅读更多

为计算一定的范围的累积和移动平均值,可以结合聚合函数使用:sum() avg() max() min() count() variance() stddev() 

first_value() last_value()结合使用。

select 
t.prd_type_id
,t.amount
,t.month
,sum(t.amount) over(order by t.prd_type_id desc rows between UNBOUNDED PRECEDING AND CURRENT ROW) AS cumulative_amount
 from all_sales t
where t.year=2003
and t.month =1
and t.amount is not null
and t.emp_id=21
order by t.prd_type_id desc
============================
1	4	3034.84	1	3034.84
2	3	1034.84	1	4069.68
3	2	1034.84	1	5104.52
4	1	10034.84	1	15139.36

 

 

select 
t.prd_type_id
,t.amount
,t.month
,avg(t.amount) over(order by t.prd_type_id desc rows between 3 PRECEDING AND current row) AS cumulative_amount
 from all_sales t
where t.year=2003
and t.month =1
and t.amount is not null
and t.emp_id=21
order by t.prd_type_id desc
=========================
1	4	3034.84	1	3034.84
2	3	1034.84	1	2034.84
3	2	1034.84	1	1701.50666666667
4	1	10034.84	1	3784.84

 

select 
t.prd_type_id
,t.amount
,t.month
,avg(t.amount) over(order by t.prd_type_id desc rows between 1 PRECEDING AND 1 following) AS cumulative_amount
 from all_sales t
where t.year=2003
and t.month =1
and t.amount is not null
and t.emp_id=21
order by t.prd_type_id desc
=====================
1	4	3034.84	1	2034.84
2	3	1034.84	1	1701.50666666667
3	2	1034.84	1	4034.84
4	1	10034.84	1	5534.84

 

select 
t.prd_type_id
,t.amount
,t.month
,first_value(t.amount) over(order by t.prd_type_id desc rows between 1 PRECEDING AND 1 following) AS cumulative_amount
,last_value(t.amount) over(order by t.prd_type_id desc rows between 1 PRECEDING AND 1 following) AS cumulative_amount
 from all_sales t
where t.year=2003
and t.month =1
and t.amount is not null
and t.emp_id=21
order by t.prd_type_id desc
==========================
1	4	3034.84	1	3034.84	1034.84
2	3	1034.84	1	3034.84	1034.84
3	2	1034.84	1	1034.84	10034.84
4	1	10034.84	1	1034.84	10034.84

  

分享到:
评论

相关推荐

    Gbase 8s内置函数之窗口函数

    Gbase 8s内置函数之窗口函数 Gbase 8s内置函数包括标量函数、聚合函数、窗口函数以及其他函数。窗口函数是一种特殊的聚合函数,能够对数据进行窗口计算,即对某个窗口范围内的数据进行计算。窗口函数可以对数据进行...

    hive窗口函数.docx

    Hive 窗口函数详解 Hive 窗口函数是 Hive 中的一种强大的分析函数,它可以对数据进行分类、排序、聚合和排名等操作。下面将详细介绍 Hive 窗口函数的语法结构、分类、应用场景和实践练习。 窗口函数语法结构 窗口...

    T-SQL性能调优秘笈 基于SQL Server 2012窗口函数_PDF电子书

    - **窗口函数概述**:窗口函数(Window Function)是在SQL Server中处理复杂查询的一种强大工具,它可以用来执行分组内的计算,如排名、行号、累计总和等操作。 - **常见的窗口函数**: - `ROW_NUMBER()`:为每一行...

    源码T-SQL性能调优秘笈 基于SQL Server 2012窗口函数

    《源码T-SQL性能调优秘笈 基于SQL Server 2012窗口函数》是一本深入探讨T-SQL性能优化的专著,特别聚焦于SQL Server 2012中的窗口函数。该资源包含五章节的源代码,旨在帮助读者理解并掌握如何利用窗口函数来提升...

    oracle分析函数,窗口函数,报表函数

    Oracle 分析函数、窗口函数和报表函数是数据库查询和数据分析中的关键工具,尤其在复杂的OLAP(在线分析处理)系统中发挥着重要作用。在Oracle数据库中,这些功能提供了对大量数据进行高效处理的能力,帮助用户生成...

    hive窗口函数

    ### Hive窗口函数详解 #### 一、概述 在大数据处理领域,Apache Hive 是一个广泛使用的数据仓库工具,它提供了一种SQL-like的语言——HiveQL,使得用户能够更方便地进行数据汇总、特殊查询和分析。其中,窗口函数...

    Hive SQL大厂必考常用窗口函数及面试题.pdf

    【Hive SQL大厂必考常用窗口函数及面试题】主要涵盖了窗⼝函数在大数据分析中的应用,尤其在OLAP(在线分析处理)场景中的重要性。窗⼝函数是一种标准SQL功能,它允许对数据库数据进行实时分析处理,如市场分析、...

    T-SQL性能调优秘笈 基于SQL Server 2012窗口函数

    标题中提到的“T-SQL性能调优秘笈 基于SQL Server 2012窗口函数”表明了这本书主要讨论的是针对SQL Server 2012版本进行T-SQL性能调优的技巧和方法,特别强调了窗口函数的应用。窗口函数是SQL中用于进行数据分组和...

    T-SQL性能调优秘笈基于SQLServer2012窗口函数

    资源名称:T-SQL性能调优秘笈 基于SQL Server 2012窗口函数资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    T-SQL性能调优秘笈 基于SQL Server2012窗口函数.rar

    1、处理常见业务问题,如总计、间隔、...3、T-SQL性能调优秘笈:基于SQL Server 2012窗口函数》基于SQLServer2012,讨论了SQL窗口、窗口函数、排序集合函数、窗口函数的优化以及利用窗口函数的T-SQL解决方案等内容。

    T-SQL性能调优秘笈-基于SQL Server 2012窗口函数

    T-SQL性能调优秘笈-基于SQL Server 2012窗口函数,适合数据库进阶。

    SQL 新技术 窗口函数学习日记

    这是我自己整理的SQL窗口函数的学习日记,内包含建表SQL和初始化数据,SQL实例,是学习SQL窗口函数不可多得的教材!

    T-SQL性能调优秘籍——基于SQL Server 2012窗口函数 代码附件

    T-SQL性能调优秘籍——基于SQL Server 2012窗口函数,书中提及的网站已经打不开了,在github上找到了。路径在附件中。

    PG窗口函数

    ### PostgreSQL窗口函数详解 #### 一、概述 在数据库领域,特别是对于数据分析人员而言,能够高效地处理数据是一项至关重要的技能。PostgreSQL作为一种强大的开源关系型数据库系统,提供了丰富的功能来支持复杂的...

    JavaScript常用的窗口函数(showModalDialog,open,confirm)

    标题提到的"JavaScript常用的窗口函数"主要包括`showModalDialog`、`open`和`confirm`,它们都是与浏览器窗口操作相关的函数,用于实现不同类型的用户交互。下面将详细阐述这三个函数的功能、用法及其在实际开发中的...

    MFC中的消息循环和窗口函数

    MFC中的消息循环和窗口函数 MFC(Microsoft Foundation Classes)是Microsoft为Windows操作系统提供的一种功能强大的应用程序框架, 其中消息循环和窗口函数是MFC中两个非常重要的概念。本文将详细介绍MFC中的消息...

    MySQL进阶二 排序窗口函数和聚合窗口函数

    本篇文章将深入探讨MySQL中的排序窗口函数和聚合窗口函数。 首先,我们来看排序窗口函数。在传统的SQL查询中,`ORDER BY`语句用于对结果集进行全局排序,但这种方式有时并不能满足复杂的数据分析需求。窗口函数允许...

    易语言api窗口函数的具体应用

    易语言api窗口函数的具体应用源码,WindowFromPoint,FindWindow,FindWindowEx,newparnet,GetParent,SetWindowPos,movewindow,SetCaretPos,getclassname,getwindowtext

    VC窗口函数 窗口风格设定函数

    ### VC窗口函数与窗口风格设定函数详解 在Visual C++(VC)开发环境中,窗口的创建、管理和控制是实现用户界面的重要组成部分。本篇将详细阐述VC中的窗口函数及其如何设置窗口风格,以便开发者能够更好地理解和应用...

Global site tag (gtag.js) - Google Analytics