当前位置:网站首页 > Haskell函数式编程 > 正文

lead函数是聚合函数不是窗口函数(lead函数用法)



适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库

访问相同结果集的后续行中的数据,而不使用 SQL Server 2012 (11.x) 开始提供的自联接。 提供对给定物理偏移处的行的访问权限,该行位于当前行之后。 在语句中使用 此分析函数可将当前行中的值与以下行中的值进行比较。

Transact-SQL 语法约定

 
  

scalar_expression

要根据指定偏移量返回的值。 它是返回单个值(标量)值的任何类型的表达式。 scalar_expression不能是分析函数。

offset

从在其中获取值的当前行前移的行数。 如果未指定,则默认值为 1。 offset 可以是列、子查询或其他表达式,它们的计算值为正整数,或可隐式转换为 bigintoffset 不能是负值或分析函数。

default

偏移量超出分区范围时返回的值。 如果未指定默认值, 则返回。 默认值 可以是列、子查询或其他表达式,但不能是分析函数。 default 的类型与 scalar_expression 的类型必须兼容。

[ IGNORE NULLS | RESPECT NULLS ]

适用于:SQL Server 2022(16.x)及更高版本、Azure SQL 数据库、Azure SQL 托管实例、Azure SQL Edge

- 在对分区计算第一个值时忽略 数据集中的值。

- 在计算分区上的第一个值时,尊重 数据集中的值。 如果未 指定选项,则为默认行为。

SQL Server 2022 CU4 中存在与 < a0 /> 相关的 bug 修复。

有关 Azure SQL Edge 中此参数的详细信息,请参阅输入缺失值。

OVER ( [ partition_by_clause ] order_by_clause )

  • partition_by_clause将子句生成的结果集划分为应用函数的分区。 如果未指定,则此函数将查询结果集的所有行视为单个组。
  • order_by_clause 在应用函数之前确定数据的顺序 。

当指定 partition_by_clause 时,它确定每个分区中数据的顺序。 需要 order_by_clause 。 有关详细信息,请参阅 SELECT - OVER 子句。

指定 scalar_expression 的数据类型。 如果scalar_expression可为 null 或默认值设置为 /scalar_expression,则返回 Deterministic and Nondeterministic Functions。

本文中的 Transact-SQL 代码示例使用 或 示例数据库,可从 Microsoft SQL Server 示例和社区项目主页下载它。

查询使用该 函数返回特定员工在后续几年内的销售配额差异。 由于最后一行没有可用的潜在顾客值,因此返回默认值为零(0)。

 
  

结果集如下。

 
  

以下示例使用函数 比较员工之间的年到日期销售额。 指定子 句以按销售区域对结果集中的行进行分区。 该 函数分别应用于每个分区,并为每个分区重启计算。 子 句中指定的 子句在应用函数之前对每个分区中的行进行排序。 语句中的子句对整个结果集中的行进行排序。 由于每个分区的最后一行没有可用的潜在顾客值,因此返回默认值为零(0)。

 
  

结果集如下。

 
  

以下示例演示如何在函数语法中指定各种任意表达式和忽略值。

 
  

结果集如下。

 
  

以下示例查询演示如何使用 参数。

该参数同时与 LAG 一起使用,并演示如何替换前面或下一个非 NULL 值的值。

  • 如果包含的上一行,则当前行使用最新的非值。
  • 如果下一行包含 with ,则当前行使用下一个可用的非 值。
 
  
 
  

下面的示例查询演示了如何使用 参数,该参数是默认行为(如果未指定),而不是 上一示例中的参数。

  • 如果前面包含的行,则当前行使用最新的值。
  • 如果下一行包含 with ,则当前行使用下一个值。
 
  
 
  

以下示例演示了函数 。 该查询可获得指定员工在后续各日历季度的销售配额值差异。 由于最后一行之后没有可用的潜在顾客值,因此使用默认值为零(0)。

 
  

结果集如下。

 
  
  • LAG (Transact-SQL)
  • FIRST_VALUE (Transact-SQL)
  • LAST_VALUE (Transact-SQL)
  • SELECT - OVER 子句 (Transact-SQL)
到此这篇lead函数是聚合函数不是窗口函数(lead函数用法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ip地址格式转换(ip地址转换是什么)2026-01-17 17:36:08
  • 3dxml是什么格式(3dxml格式能不能量尺寸)2026-01-17 17:36:08
  • pem格式文件怎么打开(pem是什么格式)2026-01-17 17:36:08
  • bigboss源官网联系方式(bigboss源有什么用)2026-01-17 17:36:08
  • 条件变量是什么变量(条件变量函数)2026-01-17 17:36:08
  • 使用Microsoft Word中“多级列表”功能定制文档标题的方法多级列表样式怎么设置(使用Microsoft Word中“多级列表”功能定制文档标题的方法的多级列表怎么设置)2026-01-17 17:36:08
  • 北京地铁支付方式有哪些(北京地铁支付方式有哪些?优惠政策)2026-01-17 17:36:08
  • ifstream函数(ifstream get函数)2026-01-17 17:36:08
  • 微信支付方式怎么改成指纹(怎么把微信支付方式改为指纹)2026-01-17 17:36:08
  • 十大常见密码加密方式(十大常见密码加密方式有key)2026-01-17 17:36:08
  • 全屏图片