根据类似的配对值对行进行分组

gre*_*awk 3 sql postgresql

如果我有一个表格,其数据结构如下:

a,b
1,2
2,1
3,1
Run Code Online (Sandbox Code Playgroud)

我想要做的是根据2个值a和b将这3行分为2行,如果组合在一行中共同存放到1行中,那么我可以进行计数查询.我想得到一个类似于的结果集:

a,b,count
1,2,2
3,1,1
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 7

您可以使用greatestleast以一致的顺序获取列对:

select count(*)
from things
group by greatest(a, b), least(a, b)
Run Code Online (Sandbox Code Playgroud)

这将给你2你正在寻找.