此问题在此处已有答案:
Getting mutliple threads and their latest post from a database using one query(1个答案)
36分钟前关门了。
截至35分钟前,机构群体正在审核是否重新讨论此问题。
假设我有一个Foo表,每个Foo都有多个Bar。我想返回所有Foo和每个Foo的最新Bar。我如何在一个PostgreSQL查询中做到这一点?
脚
| 标识符|姓名|
| - -|- -|
| 一个|页脚1|
| 2个|第二页|
条
| 标识符|foo标识|创建日期|
| - -|- -|- -|
| 一个|一个|2022年12月2日13时00分|
| 2个|一个|2022年12月2日13时30分|
| 三个|2个|2022年12月2日14时00分|
| 四个|2个|2022年12月2日14时30分|
预期结果
| 标识符|姓名|bar.id|bar.foo:|创建日期栏|
| - -|- -|- -|- -|- -|
| 一个|页脚1| 2个|一个|2022年12月2日13时30分|
| 2个|第二页|四个|2个|2022年12月2日14时30分|
1条答案
按热度按时间tkclm6bt1#
为了找到每组的最大值,我们首先需要计算
1.如何定义组,这里的每个
foo id
都是一个组1.最大值是多少,这里最大值是
created_date
要实现这一点,请使用
ROW_NUMBER
之类的函数来定义基于foo id
的分区和基于created_date desc
的排序从代码的Angular 来说,它可以翻译为:
第一个