問題は以下の通りである:PostgreSQLの前と次のグループ値
と仮定、私は(それは私が働いているテーブルのサブサンプルされ)、そのようなビューのテーブルを持っている:
| col1 | col2 |
|------|------|
| 1 | a2 |
| 1 | b2 |
| 2 | c2 |
| 2 | d2 |
| 2 | e2 |
| 1 | f2 |
| 1 | g2 |
| 3 | h2 |
| 1 | j2 |
私は2つの新しい列現在
col1
の前の値を含む
prev
を追加する必要があります以前の値が存在しない場合が現在
からcol1
内の次の値が等しくない含有する、prev
には次の値が存在しない場合、現在のcol1
の値ならびにnext
電流値を含まなければならない含まなければなりません。私は任意のヘルプ感謝するでしょう
| col1 | col2 | prev | next |
|------|------|------|------|
| 1 | a2 | 1 | 2 |
| 1 | b2 | 1 | 2 |
| 2 | c2 | 1 | 1 |
| 2 | d2 | 1 | 1 |
| 2 | e2 | 1 | 1 |
| 1 | f2 | 2 | 3 |
| 1 | g2 | 2 | 3 |
| 3 | h2 | 1 | 1 |
| 1 | j2 | 3 | 1 |
:
結果は次の形式を持つ必要があります。
ウィンドウ関数 –
https://www.postgresql.org/docs/current/static/tutorial-window.html –
SQLテーブルは、*順序付けられていない*セットを表します。列に順序が指定されていない限り、「前」または「次の」値はありません。データの列は、データを注文する際の明白な列のようには見えません。 –