【发布时间】:2018-06-04 03:40:42
【问题描述】:
我在 postgresql 中使用 group by 时遇到了一些问题。我不是高手,只是勉强凑合。
我已将 3 个表连接在一起,每个表都使用 id。还有一些汇总数据。然后我想做的是按区域分组,但是我得到重复的区域行,而不是被组合在一起。
元表
-------------------------------
|id | Region | Area |
-------------------------------
|876 | London | Ruislip |
-------------------------------
| 899 |South West| Cheltenham|
-------------------------------
T1 表
-----------------------
|id | Total_spend |
------------------------
|876 | 89999 |
------------------------
| 899 | 76664 |
------------------------
T2表
--------------------------
|id | Total_expend |
---------------------------
|876 | 8999 |
---------------------------
| 899 | 7837 |
---------------------------
|876 | 89999 |
---------------------------
| 899 | 6777 |
以下代码如下
Select meta.region, T1.total_spend,
Sum(T2.total_expend),
from meta,t1,t2
where meta.id = T1.id and meta.id=T2.id
Group by meta.region, T1.total_spend
我在区域列中得到重复行,因为 T2 中有几行相同的行,但甚至不确定它是否正确聚合。
我不知道如何解决这个问题。
期望的输出
----------------------------------------
| Region | total_spend | total_expend|
----------------------------------------
| London | 89999 | 90898 |
----------------------------------------
|South West| 76664 | 14614 |
----------------------------------------
所以 total_expend 由总和 T1 聚合,T2 通过 id 连接到元,如果可能的话,我想在元表上按区域分组
【问题讨论】:
-
为什么这被标记为熊猫。我看不出熊猫有什么用处。
-
你能发布想要的输出吗?
标签: sql postgresql