【发布时间】:2021-09-30 19:25:11
【问题描述】:
这是表格的简化版本,但我有一个名为 NAME 的表格,其中包含 2 列、名称(字符串)和类(字符串)
| index | name | classes |
|---|---|---|
| 0 | Joe | Mat 12 |
| 1 | Hector | Mat 12 |
| 2 | Terry | Arc 13 |
| 3 | Elizabeth | Soc 7 |
| 4 | Wyatt | Arc 13 |
| 5 | Alex | His 9 |
| 6 | James | Mat 12 |
| 7 | Rebecca | Soc 7 |
注意:所有名称和类实际上都有一个与之关联的数字 ID,使用实际名称进行说明。
我想将参加同一班级的独特人配对,输出表看起来像这样。
| name1 | name2 | class |
|---|---|---|
| Joe | Hector | Mat 12 |
| Joe | James | Mat 12 |
| Hector | James | Mat 12 |
| Terry | Wyatt | Arc 12 |
值得注意的是,输出表应该有唯一的配对,并且一个人不应该与自己配对(所以不要想要这样的结果)
| name1 | name2 | class |
|---|---|---|
| Joe | Hector | Mat 12 |
| Hector | Joe | Mat 12 |
| Joe | Joe | Mat 12 |
我尝试过类似
SELECT NAME.names as name1, NAME.names as name2, NAME.classes as c1, COUNT(*) as pa
FROM NAME
JOIN NAME
ON name1.c1 = name2.c1
GROUP BY name1, name2
ORDER BY c1
但不起作用。
【问题讨论】:
标签: sql