小编Ali*_*lin的帖子

获取每个不同项目的最新日期行

假设这是来自 2 个表的连接的示例日期。数据库是 Postgres 9.6

id  product_id  invoice_id  amount       date
1    PROD1       INV01       2          01-01-2018
2    PROD2       INV02       3          01-01-2018
3    PROD1       INV01       2          05-01-2018
4    PROD1       INV03       1          05-01-2018
5    PROD2       INV02       3          08-01-2018
6    PROD2       INV04       4          08-01-2018
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能以优化的方式:

  1. 获取所有 PRODx 及其各自具有最新日期的 INVx,但每个产品 ID。请注意,一天内未使用的记录可能会报告给新记录。这意味着:
id  product_id  invoice_id  amount       date
3    PROD1       INV01       2          05-01-2018
4    PROD1       INV03       1          05-01-2018
5    PROD2       INV02       3          08-01-2018
6    PROD2       INV04       4          08-01-2018
Run Code Online (Sandbox Code Playgroud)
  1. 获取每个 PRODx 的每日总和,但如果天不存在,则用前一个值填补空白。

这意味着:

 product_id    amount       date
   PROD1         2 …
Run Code Online (Sandbox Code Playgroud)

postgresql greatest-n-per-group

13
推荐指数
2
解决办法
6万
查看次数

标签 统计

greatest-n-per-group ×1

postgresql ×1