から最も近い値を結合する方法を私が持っている次の表Postgresは:同じテーブル
CREATE TABLE temp (
id SERIAL,
other_id INTEGER NOT NULL, -- some ForeignKey
date DATE NOT NULL
)
私は同じother_id
で、前の(最も近い)date
項目によってそれ自体に、このテーブルに参加したいです。
SELECT count(*)
FROM temp AS t1
JOIN temp AS t2 ON (t2.other_id = t1.other_id AND t2.date < t1.date)
しかしt2.date
がt1.date
(ない任意の下の日付)に最も近いでなければならないような何か。
これはまったく可能ですか?
それぞれ新しい生の日付で右に増加しますか?私は日付がランダムな権利ではないことを意味しましたか? –
"しかし、' t2.date'は 't1.date'(より低い日付ではありません)に最も近いものでなければなりません。"あなたは 't2'から' t1.date'に最も近い日付を意味しますが、 't1の後ろにもあります。日付? –
@FathahRehmanP日付はランダムであり、厳密には増加していません。 –