要描述我的查询问题,以下数据很有用:

单个表包含列ID(int),VAL(varchar)和ORD(int)
VAL的值可能会随着时间的推移而发生变化,ID标识的旧项目不会更新,而是附加.ID的最后一个有效项由最高ORD值(随时间增加)标识.
T0,T1和T2是输入数据的时间点.
解决方案不得涉及物化视图等,但应在单个SQL查询中表达.使用Postgresql 9.3.
在postgres中选择分组最大值的正确方法是使用 DISTINCT ON
SELECT DISTINCT ON (id) sysid, id, val, ord
FROM my_table
ORDER BY id,ord DESC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |