【发布时间】:2020-11-29 22:17:29
【问题描述】:
是否可以在 Postgres 的单个查询中执行如下操作?
表:名称
-------------------------------------
| id | unique_name | category |
-------------------------------------
| 1 | A | One |
| 2 | B | One |
| 3 | C | One |
| 4 | D | Two |
| 5 | E | Two |
| 6 | F | Two |
| 7 | G | Three |
| 8 | H | Three |
-------------------------------------
表格:价格
-----------------------------------------------------
| id | name_id | amount | updated_date |
-----------------------------------------------------
| 1 | 1 | 4.3 | 20-06-2020 |
| 2 | 2 | 2.3 | 20-06-2020 |
| 3 | 2 | 2.4 | 18-06-2020 |
| 4 | 3 | 4.4 | 20-06-2020 |
| 5 | 3 | 6.3 | 15-06-2020 |
| 6 | 4 | 0.2 | 10-06-2020 |
| 7 | 4 | 0.3 | 15-06-2020 |
| 8 | 4 | 7.4 | 20-06-2020 |
| 9 | 5 | 3.4 | 20-06-2020 |
-----------------------------------------------------
我有一个像上面这样的表结构。
我想要最近更新的同一类别的平均数量。
如下所示:
-----------------------------
| avg | category |
-----------------------------
| 3.66 | One | (4.3 + 2.3 + 4.4) / 3
| 5.4 | Two | (7.4 + 3.4) / 2
-----------------------------
【问题讨论】:
-
请定义“最近更新” 在最后一天?在最后一周?上个月?
-
我迷路了。第 3 类在哪里?
标签: sql postgresql join average greatest-n-per-group