2016-11-04 163 views
1

我有一个关于PostgreSQL中group by的问题。Postgresql - 按列组分组

目前我正在下表为:

--------------- 
t1  t2  n 
--------------- 
a  b  1 
b  a  2 
c  a  4 

,并希望得到以下结果:

--------------- 
t1  t2  n 
--------------- 
a  b  3 
c  a  4 

在的话,我想组由一组列t1和t2并对该组内的第n列进行求和。我尝试了像t2和t1这样的不同方法,但是,在这种情况下,我无法摆脱“重复”条目“b a 3”。

谢谢你的帮助。

回答

1
select least(t1, t2) as t1, greatest(t1, t2) as t2, sum(n) 
from the_table 
group by least(t1, t2), greatest(t1, t2) 

然而,这将返回a,c,4c,a,4但你似乎想治疗​​一样c,a这不应该有所作为。

+0

谢谢,完美的作品。 – bublitz