Sql 查询postgres以区分两列

Sql 查询postgres以区分两列,sql,postgresql,Sql,Postgresql,我有一个下表的数据库 Col1 | Col2 | Col3 | A | C | data1 A | B | data2 B | A | data3 A | D | data4 C | A | data5 我需要一个查询来选择Col1和Col2中所有不同的行(因此AC==CA),但我需要计算总数 所以我的回归可能是这样的 Combo| Count AC | 2 AB | 2 AD | 1 这看起来像是一个简单的聚合查询

我有一个下表的数据库

Col1 | Col2 | Col3  |  
 A   | C     | data1
 A   | B     | data2
 B   | A     | data3
 A   | D     | data4
 C   | A     | data5
我需要一个查询来选择Col1和Col2中所有不同的行(因此AC==CA),但我需要计算总数

所以我的回归可能是这样的

Combo| Count
AC | 2
AB | 2
AD | 1

这看起来像是一个简单的聚合查询,因为排序并不重要:

select least(col1, col2) || greatest(col1, col2), count(*) as cnt
from t
group by least(col1, col2) || greatest(col1, col2);

这就成功了。谢谢这比我之前所做的要简单得多——尝试合并同一个表中的两个选项。