簡體   English   中英

PostgreSQL查詢以基於聯接條件和max(date)獲取屬性

[英]PostgreSQL query to get attributes based on join condition and max(date)

我在下面的表結構(屏幕)。 我想要如下所示的結果查詢:在基於row_wid和max(req_createdOn)日期字段的第一個表和第二個表中,獲取req_attr1和req_attr_2值。 我正在使用Greenplum數據庫(與PostgreSQL 8.2大致兼容)。

TIA。

在此處輸入圖片說明

第二屏:如您所見,t1中有兩個row_wid。 對於t2中t1中的每個row_wid,我們需要檢查最大的req_createdOn日期,並獲取max(req_createdOn)的attr1,attr2。 任何想法? 很抱歉沒有將此條件顯示在第一個屏幕上。 非常感謝。 在此處輸入圖片說明

PostgreSQL中有特殊的查詢語法, 與on子句不同

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM