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
。