如何用last_value獲取序列的最后值

sql
小樊
83
2024-09-09 05:48:47
欄目: 編程語言

last_value 是一個(gè)聚合函數(shù),它用于獲取序列中的最后一個(gè)值

SELECT last_value(column_name) OVER (ORDER BY column_name ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last_value
FROM table_name;

這里的 column_name 是你想要獲取最后值的列名,table_name 是你的表名。OVER 子句定義了窗口函數(shù)的范圍,ORDER BY 對(duì)數(shù)據(jù)進(jìn)行排序,ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 表示窗口包含所有行。

例如,如果你有一個(gè)名為 sales 的表,其中包含一個(gè)名為 revenue 的列,你可以使用以下查詢來獲取最后一個(gè)值:

SELECT last_value(revenue) OVER (ORDER BY revenue ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last_value
FROM sales;

請(qǐng)注意,這個(gè)查詢將返回表中每一行的最后值,而不僅僅是最后一行。如果你只想獲取最后一個(gè)值,可以使用以下查詢:

SELECT last_value(revenue) OVER (ORDER BY revenue ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last_value
FROM sales
LIMIT 1;

0