単一のテーブルから組み合わせを出力するクエリがあります
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 を含む) であるため、そのうちの 1 つだけを保持します。
そのセットの一意の値を表す別の列を生成する方法はありますか?
たとえば、id1、id2、および id3 を並べ替えて、一意の文字列を生成することは可能ですか? (並べ替えが列でうまく機能することは知っていますが、MySQL の行では可能ですか)。GROUP_CONCAT に似ていますが、要素がソートされています。
または、重複したセットを排除する別の方法はありますか?