| 做法 | 增加前值与切换日期列 |
|---|---|
| 历史深度 | 固定列数,常见只保留上一版 |
| 查询 | 无需时间区间条件 |
| 适合 | 只做前后对比的简单场景 |
前后值列
前后值列
ALTER TABLE dim_user ADD COLUMNS (prev_level STRING, level_changed_date STRING);
-- 更新:把旧值挪到前值列
UPDATE dim_user
SET prev_level = level, level = 'gold', level_changed_date = '2026-10-11'
WHERE user_id = 10086 AND level <> 'gold';需要更多历史版本时 Type 3 只能不断加列,方向不对;那时应改用 Type 2。