2017-11-26 8 views
0

PostgreSQLデータベースでは、同じ外部キーを持つレコードが2つあり、日付/時刻が異なるテーブルがあります。LEFT JOINサブクエリのselectを返すだけです最大レコード(最新のレコード)。 ON句は外部キー用です。最大日付で再選択する

私は、最新のレコードが、私が試したどのような2017年11月23日17時32分20秒

ための一つである必要

Foreign Key | date_created 
1   | 2017-11-24 17:22:01 
1   | 2017-11-23 17:32:20 

SELECT sa.foreign_key, max(date_created) as date_created 
FROM table sa 
GROUP BY sa.foreign_key, sa.date_created 

それはまだ非常に両方のレコードではなく返します最新のもののみ。

+1

をし、それのthats。 –

+1

"外部キー"は列名の選択肢が非常に悪いです。 – jarlh

+0

著作権上の理由から@jarih私のコースには私の実際のテーブルの名前は含まれていませんでした。 – Lennie

答えて

1

あなたはROW_NUMBER使用することができますby` `グループから` sa.date_created` Rmove

SELECT * 
FROM (SELECT *, 
     ROW_NUMBER() OVER(PARTITION BY sa.foreign_key 
         ORDER BY sa.date_created DESC) AS rn 
     FROM table sa) sub 
WHERE rn = 1; 
+1

ありがとうございます。 – Lennie

関連する問題