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
。