last_value函数是否支持自定义排序

1949idc 2年前 (2024-09-19) 阅读数 351 #编程语言

LAST_VALUE 函数本身不支持自定义排序,但你可以在使用 LAST_VALUE 函数之前对数据进行排序

WITH sorted_data AS (
  SELECT * FROM your_table
  ORDER BY your_custom_column
)
SELECT
  column1,
  column2,
  LAST_VALUE(column3) OVER (PARTITION BY column4 ORDER BY row_number() ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as last_value_column3
FROM
  sorted_data;

在这个示例中,我们首先使用 WITH 子句创建一个名为 sorted_data 的临时表,该表按照 your_custom_column 列对数据进行排序。然后,我们在主查询中使用 LAST_VALUE 函数,并通过 ROW_NUMBER() 函数为每一行分配一个行号,以便按照排序顺序获取每个分区中的最后一个值。注意,ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 表示窗口范围包括分区中的所有行。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业