示例
示例
SELECT user_id, created_at,
FIRST_VALUE(created_at) OVER (
PARTITION BY user_id ORDER BY created_at
) AS first_order_at
FROM orders;| 帧 | 默认从分区起点到当前行,首值即分区首行 |
|---|---|
| 用途 | 首单时间、初始状态对比 |
| 注意 | 与 LAST_VALUE 的默认帧差异很大 |
取窗口帧内首行的值:把“组内最早/排在首位”的字段广播到每一行,用于对比与填充。
SELECT user_id, created_at,
FIRST_VALUE(created_at) OVER (
PARTITION BY user_id ORDER BY created_at
) AS first_order_at
FROM orders;| 帧 | 默认从分区起点到当前行,首值即分区首行 |
|---|---|
| 用途 | 首单时间、初始状态对比 |
| 注意 | 与 LAST_VALUE 的默认帧差异很大 |