sql - PostgreSQL中最大值的多项选择
问题描述
我有一张这样的桌子:
ID cbk due_16_30 due_31_60
1 2018-06-19 5 200
2 2018-06-19 100 -5
1 2018-06-19 -2 2
2 2018-06-18 20 Null
2 2018-06-18 50 22
1 2018-06-18 30 150
我想从最新日期中选择最大值due_16_30
和最大值due_31_60
,其中日期介于一些start date
和end date
. 我怎样才能做到这一点PostgreSQL
?
更新1:
感谢您的回答!我发现了一个更复杂的问题 - 如果我需要做同样的事情,但使用不同的 ID,该怎么办?现在我所看到的 - 它需要两者之间的最新日期,如果该日期的特定 ID 没有行 - 该 ID 被遗漏。
解决方案
我希望这有帮助
select cbk, max(due_16_30), max(due_31_60)
from [table]
where cbk = (select max(cbk)
from [table]
where cbk >= start_date and
cbk <= end_date
)
group by cbk;
推荐阅读
- python - 附加具有不同第一个有效索引的列
- go - 返回具有测试期望的结构图 Go
- python-3.x - 我如何在 python selenium 中输入我的登录信息
- java - spring boot 关系删除一些项
- docker - Docker:挂载的目录没有文件
- javascript - CodeWars Take a Minute Walk Kata - 我的代码有什么问题?
- python - 如何使用xlwings Python同时打开3个excel文件?
- json - 为什么我会收到 Json Malformed Exception?
- html - 使任意表列宽等于可用空间
- reactjs - React 生命周期和 Intersection 观察者