如何为每个客户按规则分配行序列?附示例数据
客户交易行序列分配规则
核心规则
- 按交易日期排序后,从客户首笔金额大于0的交易行开始,为后续所有行(含该行)分配递增的序列值
- 首笔金额大于0的行之前的金额为0的行,序列值设为
null - 若客户无金额大于0的交易行,所有行序列值均为
null
示例数据(含预期输出)
| 客户(customer) | 交易日期(trans_date) | 金额(Amount) | 预期序列(expected_sequence) |
|---|---|---|---|
| 1 | 2023-01-01 | $0 | null |
| 1 | 2023-02-01 | $100 | 1 |
| 1 | 2023-03-02 | $200 | 2 |
| 2 | 2023-01-01 | $100 | 1 |
| 2 | 2023-02-01 | $0 | 2 |
| 2 | 2023-03-02 | $150 | 3 |
| 3 | 2023-01-01 | $0 | null |
| 3 | 2023-02-01 | $0 | null |
| 3 | 2023-03-02 | $150 | 1 |
| 4 | 2023-01-01 | $0 | null |
| 4 | 2023-02-01 | $0 | null |
| 4 | 2023-03-02 | $0 | null |
内容的提问来源于stack exchange,提问作者Ramesh
相关产品推荐
相关产品推荐

