Mysql 用于从具有添加约束的单个列中获取不同对的查询

Mysql 用于从具有添加约束的单个列中获取不同对的查询,mysql,sql,select,Mysql,Sql,Select,我该如何从一个列中获取不同的对,该列具有一个不应重复一对的约束?所以我有一个疑问 选择不同的s1.author\u set\u s\u author\u id, s2.author\u set\u s\u author\u id 从提交记录作者集s1到提交记录作者集s2 其中s1.author\u set\u s\u author\u id!=s2.作者集作者id; 这将从该列中获取所有可能的对,其中包含一个约束,该约束本身无法与之配对,但这种情况仍然可能发生: (1,2)和(2,1) 在我的

我该如何从一个列中获取不同的对,该列具有一个不应重复一对的约束?所以我有一个疑问

选择不同的s1.author\u set\u s\u author\u id,
s2.author\u set\u s\u author\u id
从提交记录作者集s1到提交记录作者集s2
其中s1.author\u set\u s\u author\u id!=s2.作者集作者id;
这将从该列中获取所有可能的对,其中包含一个约束,该约束本身无法与之配对,但这种情况仍然可能发生: (1,2)和(2,1)


在我的情况下,一对不应该重复。因此,1和2的配对应该只出现一次。关于如何将该约束添加到SQL查询中,有什么建议吗?

您只需替换
=
WHERE
子句中与
(获取
(2,1)
而不是
(1,2)
)进行比较:

选择不同的s1.author\u set\u s\u author\u id,
s2.author\u set\u s\u author\u id
从提交记录作者集s1到提交记录作者集s2
其中s1.author\u set\u s\u author\u id
如果你有(1,2)和(2,1),你介意保留哪一个吗?@P.Salmon不,任何一个都可以
SELECT DISTINCT s1.author_set_s_author_id,
                s2.author_set_s_author_id
FROM submission_record_author_set s1, submission_record_author_set s2
WHERE s1.author_set_s_author_id < s2.author_set_s_author_id;