【发布时间】:2019-12-28 13:00:26
【问题描述】:
这有点像previous question I asked。假设我有一个看起来像这样的非规范化表:
Apple_ID | Tree_ID | Orchard_ID | Tree_Height | ...other columns...
---------------------------------------------------------------------
1 | 1 | 1 | 12 | ...other values...
---------------------------------------------------------------------
2 | 1 | 1 | 12 | ...other values...
---------------------------------------------------------------------
3 | 1 | 1 | 12 | ...other values...
---------------------------------------------------------------------
4 | 2 | 1 | 15 | ...other values...
---------------------------------------------------------------------
5 | 2 | 1 | 15 | ...other values...
---------------------------------------------------------------------
6 | 2 | 1 | 15 | ...other values...
---------------------------------------------------------------------
7 | 2 | 1 | 15 | ...other values...
---------------------------------------------------------------------
8 | 3 | 1 | 20 | ...other values...
---------------------------------------------------------------------
9 | 3 | 1 | 20 | ...other values...
---------------------------------------------------------------------
10 | 4 | 2 | 30 | ...other values...
---------------------------------------------------------------------
11 | 5 | 2 | 10 | ...other values...
---------------------------------------------------------------------
12 | 5 | 2 | 10 | ...other values...
---------------------------------------------------------------------
13 | 5 | 2 | 10 | ...other values...
---------------------------------------------------------------------
我想计算每个果园的Tree_Heights的总和,所以我想得到的结果是:
Orchard_ID | sum(Tree_Height)
-------------------------------
1 | 47
-------------------------------
2 | 40
但是,由于非规范化,总和膨胀到:
Orchard_ID | sum(Tree_Height)
-------------------------------
1 | 136
-------------------------------
2 | 60
我之前提到的问题的解决方案无法在此处实现,因为我们无法通过唯一的行列进行 sum()。如何编写一个简单的查询来获得预期的结果?
【问题讨论】:
-
根据你之前的问题,你不能不加入苹果表就做这些总和吗?
-
不,这两个问题的重点是我正在尝试在非规范化表上进行这些聚合
-
您是否尝试同时收集其他数据?
-
CTE算简单吗? -
我正在用 Sisense 编写一个不支持 CTE 的导入查询
标签: sql postgresql denormalization