PostgreSQL查询以根据连接条件和最大(日期)获取属性

PostgreSQL查询以根据连接条件和最大(日期)获取属性,postgresql,greenplum,Postgresql,Greenplum,我有下面的表格结构(屏幕)。我希望查询结果如图所示:从第一个表和第二个表中,根据row_wid和max(req_createdOn)date字段,获取req_attr1和req_attr_2的值。我使用的是Greenplum数据库(与PostgreSQL 8.2大致兼容) 蒂亚 第二屏: 如您所见,t1中有两行。对于t2中t1的每一行,我们需要检查最大的req\u createdOn日期,并获取最大值(req\u createdOn)的attr1和attr2。有什么想法吗?很抱歉,没有将此条件

我有下面的表格结构(屏幕)。我希望查询结果如图所示:从第一个表和第二个表中,根据row_wid和max(req_createdOn)date字段,获取req_attr1和req_attr_2的值。我使用的是Greenplum数据库(与PostgreSQL 8.2大致兼容)

蒂亚

第二屏: 如您所见,t1中有两行。对于t2中t1的每一行,我们需要检查最大的req\u createdOn日期,并获取最大值(req\u createdOn)的attr1和attr2。有什么想法吗?很抱歉,没有将此条件置于第一个屏幕中。谢谢。

PostgreSQL中有特殊的查询语法,子句:

select distinct on (t2.Row_wid)
    t1.sn, t1.Geo, t1.Region,
    t1.req_attr_1, t1.req_attr_2
from table1 as t1
    inner join table2 as t2 on t2.Row_wid = t1.Row_wid
order by t2.Row_wid, t2.req_created_on desc