0
我有一個包含對象的統計信息在postges與下列的表中選擇在postgres的組的最後一個元素:骨料通過
- ID整數
- 的object_id整數
- 時間戳時間戳帶時區
- 尺寸字符變化
- 值整數
注意,它使用該實體屬性值(EAV)模式 - 實體是object_id
,屬性是dimension
,值是value
。
作業每晚都會爲每個對象(由object_id
指定)在六個維度上(由dimension
指定)收集值。
我想建立一個報告頁面,顯示每個product
每個dimension
最近的value
。查詢應該是這樣的:
select object_id, dimension, FIRST(value) from pt_reading group by product_id, dimension order by product_id, dimension, timestamp desc;
FIRST
會選擇第一value
這是一個我想因爲我按時間戳降序排序。不幸的是,FIRST不是一個有效的聚合器功能。
什麼是最好的設計模式來做到這一點?我總是可以使用python編寫它,但似乎可以通過數據庫來處理。另外,如果我有一個不同的設計模式,請使用它來做到這一點。
對於一些解釋,你可能會感興趣的[此相關答案](http://stackoverflow.com/questions/3800551/sql-select-first-row-in-each-group-by-group/ 7630564#7630564)。 – 2013-03-08 02:24:18