找到唯一的列组合

时间:2015-05-06 19:07:39

标签: mysql

我正在努力寻找独特的组合。序列并不重要,因此1 - 3和3 - 1是相同的。我坚持:

SELECT column1, column2, count(*)
FROM testTable
GROUP BY column1, column2

示例:

id      column1     column2
1       1           3
2       3           2
3       3           1
4       1           2
5       2           1
6       2           3
7       1           2
8       3           2
9       1           3
10      3           2

最终结果:

column1     column2     count
1           2           3
1           3           3
2           3           4

1 个答案:

答案 0 :(得分:6)

一种选择是使用leastgreatest聚合:

select least(column1,column2) as column1, 
       greatest(column1,column2) as column2, 
       count(*) as cnt
from testtable
group by least(column1,column2), greatest(column1,column2)