問題にスタックされているビット。 postgreSQLの2つの日付の違いを調べようとしています。特定の従業員の最大日付と最後から2番目の最大値の差 - postgresql
私はそれで多くの従業員を持つemp表を持っている:
emp_id, date
1, 31-10-2017
1, 08-08-2017
1, 02-06-2017
私はそれが次のようになりたい:
emp_id, max_date, penultimate_date, difference
1, 31-10-2017, 08-08-2017, 84 days
明らかに、あなたは何がどのように、max(date)
とgroup by
emp_id
を使用することができます最後から2番目の日付を取得します。そこに多くの従業員番号があると、私は、各従業員のために1行を必要とするように私はまた、サブクエリでこれらを置くことを試みているが、そのhasn、tは働い
order by date desc limit 1 offset 1
:私のようないくつかの関数を使用していました。
誰でも手伝いますか?
おかげで、
pp84
など親切に@Haleemurアリによって提案
このソリューションは複数の従業員にはうまくいかないようです。 –
@HaleemurAliヒントありがとうございます - 確かに、いくつかの行ができない「限界1」:) –
あなたの答えを更新していただきありがとうございます。私はいつも 'nth_value'関数について忘れています。 –