温馨提示×

last_value在分组查询中的效果

sql
小樊
82
2024-09-09 05:53:51
栏目: 编程语言

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

0