last_value在分组查询中的效果

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

LAST_VALUE 是一个窗口函数,它在 SQL 查询中用于返回每个分组中的最后一个值

假设我们有一个名为 sales 的表,其中包含以下数据:

sale_id sale_date amount
1 2021-01-01 100
2 2021-01-01 200
3 2021-01-02 300
4 2021-01-02 400
5 2021-01-03 500

如果我们想按 sale_date 分组并获取每个日期的最大 amount,我们可以使用以下查询:

SELECT sale_date, LAST_VALUE(amount) OVER (PARTITION BY sale_date ORDER BY amount DESC) AS max_amount
FROM sales;

这将返回以下结果:

sale_date max_amount
2021-01-01 200
2021-01-02 400
2021-01-03 500

在这个例子中,我们使用 LAST_VALUE 函数来获取每个分组(按 sale_date 分组)中的最后一个值(按 amount 降序排列)。这样,我们可以得到每个日期的最大 amount

版权声明

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

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