2016-11-04 206 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