last_value在分组查询中的效果

avatar
作者
猴君
阅读量:0

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

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

sale_idsale_dateamount
12021-01-01100
22021-01-01200
32021-01-02300
42021-01-02400
52021-01-03500

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

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

这将返回以下结果:

sale_datemax_amount
2021-01-01200
2021-01-02400
2021-01-03500

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!