gpt4 book ai didi

sql - 查询历史数据

转载 作者:行者123 更新时间:2023-11-29 11:39:09 24 4
gpt4 key购买 nike

为了描述我的查询问题,以下数据很有帮助:

enter image description here

单个表包含列 ID (int)、VAL (varchar) 和 ORD (int)

VAL 的值可能会随着时间的推移而改变,此时由 ID 标识的较旧的项目不会得到更新,而是会被追加。 ID 的最后一个有效项目由最高 ORD 值(随时间增加)标识。

T0、T1 和 T2 是输入数据的时间点。

  • 如何以高效的方式获取结果集?

解决方案不得涉及物化 View 等,但应该可以在单个 SQL 查询中表达。使用 Postgresql 9.3。

最佳答案

在 postgres 中选择分组最大值的正确方法是使用 DISTINCT ON

SELECT DISTINCT ON (id) sysid, id, val, ord
FROM my_table
ORDER BY id,ord DESC;

Fiddle

关于sql - 查询历史数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com