首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Postgres中使用多个distinct on语句,同时保持正确的顺序

如何在Postgres中使用多个distinct on语句,同时保持正确的顺序
EN

Stack Overflow用户
提问于 2020-11-27 17:44:20
回答 1查看 25关注 0票数 0

我有一个Postgres的天气预报表,看起来像这样

在这里,风能和太阳预报每15分钟发布一次,时间相同。我希望使用distinct on()语句从该表中选择最新的风能和太阳预测。但是,当我仅在time列上使用它时,它会删除风预报,因为该预报在太阳预报前一分钟被转储。我试过使用distinct on(time, forecast),但不知何故订单搞乱了,我不再使用最新的dump_date (如下所示)

如何在保留顺序的同时对多个列使用distinct on()语句?我现在使用的查询是

代码语言:javascript
复制
select
    distinct on ("time", "forecast") *
from table
order by "time"

这个查询保持动态是很重要的,所以硬编码dump_date不是我的选择。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-27 17:53:44

我会将dump_date DESC添加到ORDER

代码语言:javascript
复制
SELECT DISTINCT ON (time, forecast)
    *
FROM t
ORDER BY time, forecast, dump_date DESC
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65035092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档