【发布时间】:2022-01-15 04:35:31
【问题描述】:
假设我有下表:
| id | column B |
|---|---|
| 1 | value A |
| 2 | value B |
| 3 | value D |
| 4 | value C |
| 5 | value D |
| 6 | value D |
| 7 | value D |
| 8 | value E |
| 9 | value F |
| 10 | value D |
对于值为 D 的每一行,我需要找到与 D 不同的值的最近的上一行。所以我需要的是:
| id | nearest row id |
|---|---|
| 1 | null |
| 2 | null |
| 3 | 2 |
| 4 | null |
| 5 | 4 |
| 6 | 4 |
| 7 | 4 |
| 8 | null |
| 9 | null |
| 10 | 9 |
如何在 PostreSQL 中实现这一点?
【问题讨论】:
标签: sql postgresql