私はMySQLを使用してチームの組み合わせを探しています。SQLの2列のデータからユニークセットをフィルタリングする方法
mysql> SELECT * FROM members;
+----------+-------+
| IDmember | Name |
+----------+-------+
| 1 | John |
| 2 | Harry |
| 3 | Kolb |
+----------+-------+
は、この適用:
SELECT t1.IDmember AS ID1
, t2.IDmember AS ID2
, t1.Name
, t2.Name
FROM members t1
JOIN members t2
WHERE t1.IDmember != t2.IDmember;
をしかし、WHERE条件はまだ(2,1)と(1,2)のように、重複したチームを回避するために不足しています。 (3,2)および(2,3)。 (1,3)および(3,1):
+-----+-----+-------+-------+
| ID1 | ID2 | Name | Name |
+-----+-----+-------+-------+
| 2 | 1 | Harry | John |
| 3 | 1 | Kolb | John |
| 1 | 2 | John | Harry |
| 3 | 2 | Kolb | Harry |
| 1 | 3 | John | Kolb |
| 2 | 3 | Harry | Kolb |
+-----+-----+-------+-------+
このクエリを改善するにはどうすればよいですか?
使用 't1.IDmember T2となります.IDmember'は1つの組み合わせのみを取得します。 –