2016-06-21 7 views
1

私は問い合わせPostgresは

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 

答えて

4

ようなものかもしれません:

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

トリックをしたと。ありがとう!これは私がやっていたことよりも簡単です - 同じテーブルから2つの選択肢を結合しようとしています。 – Derek

関連する問題