mysql查找一列的所有可能组合

时间:2014-03-19 14:43:40

标签: mysql

我的表UserContacts有一个像

这样的列

CONTACT_ID

  • 1
  • 5
  • 6

我希望得到以下结果(这是该列值的所有可能的对组合)... (1,5),(1,6),(5,6)

有可能吗?

3 个答案:

答案 0 :(得分:1)

这应该有效

SELECT t2.contact_id,t1.contact_id FROM UserContacts t1 JOIN UserContacts t2 
WHERE t1.contact_id <> t2.contact_id

答案 1 :(得分:0)

当然,自我加入:

SELECT a.contact_id a, b.contact_id b
FROM   UserContacts a
  JOIN UserContacts b ON b.contact_id > a.contact_id

sqlfiddle上查看。

答案 2 :(得分:-2)

使用交叉联接

选择a.contact_id 来自用户联系人   交叉加入用户联系人b