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

窗口函数row_number(窗口函数row_number是干什么的)



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

对结果集的输出进行编号。 具体来说,返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

和 类似。 按顺序对所有行进行编号(例如 1、2、3、4、5)。 为关系提供相同的数值(例如 1、2、2、4、5)。

Transact-SQL 语法约定

 

bigint

除非以下条件成立,否则不保证在每次执行时,使用 的查询所返回行的顺序都完全相同。

  • 分区列的值是唯一的。
  • 列的值是唯一的。
  • 分区列和 列的值的组合是唯一的。

如果结果 中列不唯一,请考虑使用 或 。

具有不确定性。 有关详细信息,请参阅 Deterministic and Nondeterministic Functions。

以下查询按字母顺序返回四个系统表。

 

结果集如下。

name recovery_model_desc 主 SIMPLE 模型 FULL msdb SIMPLE tempdb SIMPLE

要在每行的前面添加一个行编号列,请使用 函数添加一个列(此示例中名为 )。 必须将 子句向前移动到 子句处。

 

结果集如下。

Row# name recovery_model_desc 1 主 SIMPLE 2 模型 FULL 3 msdb SIMPLE 4 tempdb SIMPLE

列上的子句在值更改时重启编号。

 

结果集如下。

Row# name recovery_model_desc 1 模型 FULL 1 主 SIMPLE 2 msdb SIMPLE 3 tempdb SIMPLE

以下示例根据销售人员年初至今的销售额,计算 Adventure Works Cycles 中销售人员的行号。

 

结果集如下。

 

下面的示例按 的顺序计算 表中所有行的行号,并只返回行 到 (含)。

 

以下示例使用 参数按列 对结果集进行分区。 在 子句中指定的 子句按列 对每个分区中的行进行排序。 语句中的 按 子句对整个查询结果集进行排序。

 

结果集如下。

 

以下示例根据销售代表所分配的销售配额返回各自的 。

 

以下为部分结果集。

 

以下示例显示了将 函数与 参数结合使用的情况。 这样会让 函数对每个分区中的行进行编号。

 

以下为部分结果集。

 

RANK (Transact-SQL)
DENSE_RANK (Transact-SQL)
NTILE (Transact-SQL)

到此这篇窗口函数row_number(窗口函数row_number是干什么的)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 485报文格式(485报文怎么看)2025-04-30 11:00:04
  • 高德支付方式怎么设置(高德支付方式怎么设置的)2025-04-30 11:00:04
  • 密码加密的方式有哪些种类(密码的加密与解密的方式)2025-04-30 11:00:04
  • 支付方式怎么更换(地铁支付方式怎么更换)2025-04-30 11:00:04
  • map格式字符串转换map(map转换为字符串)2025-04-30 11:00:04
  • 支付方式有哪些(外贸支付方式有哪些)2025-04-30 11:00:04
  • max函数是窗口函数对吗(max()函数的作用是)2025-04-30 11:00:04
  • 宽松的支付方式英文(支付方便英文)2025-04-30 11:00:04
  • 支付方式是什么意思(暂无可用支付方式是什么意思)2025-04-30 11:00:04
  • yml文件取值(yml文件格式要求)2025-04-30 11:00:04
  • 全屏图片