2017-07-29 53 views
0

我正在使用Postgres 9.5。我有一個表有幾列...在Postgres中,如何從表格中選擇最近日期的行?

crypto_currency_id | integer      | 
price    | integer      | 
last_updated  | timestamp without time zone | 

有可能是爲crypto_currency_id多個條目。我的問題是,如何爲表中每個唯一的crypto_currency_id選擇最近的條目?因此,舉例來說,如果我的表包含的條目

crypto_currency_id  price   last_updated 
===================================================== 
2       50    2017-06-01 
2       52    2017-07-01 
3       500   2017-01-01 

我想查詢返回兩行,這將是

2       52    2017-07-01 
3       500   2017-01-01 
+0

[根據上次日期選擇記錄]可能的重複(https://stackoverflow.com/questions/19027881/select-records-based-on-last-date) – Abelisto

回答

0

在Postgres的最有效的方法是distinct on

select distinct on (crypto_currency_id) t.* 
from t 
order by crypto_currency_id, last_updated desc;