postgresql - 如何找到每个id的最新日期和价格> 0?
问题描述
在 POSTGRESQL 13 中,我有一个 ID、日期、价格表。
我只想知道价格大于 0 每个 id 的最新日期。每个 id 一行。
所以最优输出是:
id | the_date | price
1 2013-08-09 0.45
2 2013-08-11 0.34
我在这个链接上有一个 SQL 小提琴: https ://dbfiddle.uk/?rdbms=postgres_13&fiddle=a89bbbc922601be5465ad764fd035161
我尝试使用 MAX 日期进行 INNER JOIN 失败。
解决方案
SELECT DISTINCT ON (id)
id, the_date, price
FROM inventory
WHERE price>0
ORDER BY id ASC, the_date DESC
推荐阅读
- oracle - 基于 if 条件的 oracle 查询序列
- sql - Oracle SQL 正则表达式替换
- arrays - 如何读取具有二进制值的文本文件,其中每一行都是使用 Numpy 的二进制向量本身?
- java - 当我从抽象类扩展时,会执行任何操作吗?
- reactjs - React 功能组件:立即调用 getElementById 返回 null
- angular - 反应式表单不显示在 html 中
- python-3.x - 在 Chrome 中打开链接后,我可以终止 Webbrowser 实例吗?
- gcc - 使用 GCC 编译器编译 RISC-V 代码
- ruby-on-rails - 在 Rails 应用程序中将“belongs_to”添加到模型后测试失败
- ios - Combine + SwiftUI 中的最佳数据绑定实践?