0
私は応答と質問idを持つテーブルと同様に、IDを生成したい ウィンドウ関数
| id | question_id |
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
のように見える私のPostgresデータベースに「回答」テーブルを持っています明らかに、「(responses.id順)で遅れ(responses.id)」を引っ張るよう
| id | question_id | lag_resp_id |
| 1 | 1 | |
| 2 | 2 | |
| 3 | 1 | 1 |
| 4 | 2 | 2 |
| 5 | 2 | 4 |
として同じ質問IDを持つ前応答、に関わらずquestion_idの以前の応答IDを引っ張ってきます。私は以下のサブクエリを試みましたが、基本的にサブクエリの各質問IDのすべてのラグIDのテーブルを作成しているので間違っていることがわかります。
select
responses.question_id,
responses.id as response_id,
(select
lag(r2.id, 1) over (order by r2.id)
from
responses as r2
where
r2.question_id = responses.question_id
)
from
responses
私が使用する方法がわからないこれは、私はサブクエリと正しい軌道に乗ってるかどうかは分からない、または私は「によってパーティション」を伴う可能性がある(より高度な何かをする必要がある場合)。
ご協力いただければ幸いです。