我有一个从单个表输出组合的查询
Select t1.id as id1, t2.id as id2, t3.id as id3
mytable t1,
mytable t2,
mytable t3
WHERE condition = true
其中,当表包含 5 个条目时,返回如下内容
row id1, id2, id3
1. 1, 2, 3
2. 1, 2, 4
3. 1, 2, 5
4. 1, 3, 4
5. 1, 3, 5
6. 1, 3, 2
7. 2, 1, 3
8. 2, 1, 4
9. 2, 1, 3
etc....
我想过滤掉 3 的唯一组合,所以在上面的例子中,第 1,6 和 7 行是同一个集合(它们都包含 1、2 和 3),所以只保留其中一个。
有没有办法生成代表该集合的唯一值的另一列?
例如,是否可以对 id1、id2 和 id3 进行排序并生成一个唯一的字符串?(我知道排序在列上效果很好,但是在 MySQL 中的行上是否可行)。类似于 GROUP_CONCAT,但对元素进行了排序。
还是有另一种方法来消除重复集?