如何获取 PostgreSQL 中的最新记录?
How to fetch the latest records in PostgreSQL?
实际上我正在尝试通过分组 r_id
和最新的 start_date
获取这些数据的最新记录
我的示例数据:
**r_id** **s_id ** **start_date**
"149165" "28317" "2020-09-07 08:12:46.108"
"149165" "28324" "2020-09-07 08:18:15.934"
"149161" "28313" "2020-09-07 08:11:33.923"
"149161" "28316" "2020-09-07 08:12:19.887"
"149161" "28312" "2020-09-07 08:11:04.448"
"149161" "28305" "2020-09-07 08:09:17.211"
预期结果:
**r_id** **s_id ** **start_date**
"149165" "28324" "2020-09-07 08:18:15.934"
"149161" "28316" "2020-09-07 08:12:19.887"
任何人都可以。
您可以使用 distinct on
:
select distinct on (r_id) t.*
from mytable t
order by r_id, start_date desc
实际上我正在尝试通过分组 r_id
和最新的 start_date
我的示例数据:
**r_id** **s_id ** **start_date**
"149165" "28317" "2020-09-07 08:12:46.108"
"149165" "28324" "2020-09-07 08:18:15.934"
"149161" "28313" "2020-09-07 08:11:33.923"
"149161" "28316" "2020-09-07 08:12:19.887"
"149161" "28312" "2020-09-07 08:11:04.448"
"149161" "28305" "2020-09-07 08:09:17.211"
预期结果:
**r_id** **s_id ** **start_date**
"149165" "28324" "2020-09-07 08:18:15.934"
"149161" "28316" "2020-09-07 08:12:19.887"
任何人都可以。
您可以使用 distinct on
:
select distinct on (r_id) t.*
from mytable t
order by r_id, start_date desc