我在PostgreSQL中有一个关于group by的问题。
我目前正在查看下表:
---------------
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"在这种情况下。
感谢您的帮助。
答案 0 :(得分: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,4
而不是c,a,4
,但由于您似乎希望a,c
与c,a
一样,这不应该有所作为。