我在 Postgres 中有一张带有天气预报的表格,看起来像这样
在这里,每 15 分钟同时发布一次风力和太阳预报。我希望使用distinct on()
语句从该表中选择最新的风能和太阳能预测。但是,当我仅在time
列上使用它时,它会删除风预报,因为该预报在太阳能预报前一分钟被丢弃。我尝试过使用distinct on(time, forecast)
,但后来订单以某种方式搞砸了,我不再使用最新的dump_date
(见下文)
如何distinct on()
在保持顺序的同时在多个列上使用语句?我现在使用的查询是
select
distinct on ("time", "forecast") *
from table
order by "time"
这个查询保持动态很重要,所以硬编码dump_date
对我来说不是一个选择。