我有一个记录表,其中唯一ID在与类似记录匹配的ControlID上交叉连接到自身。
初始表:
ID (key), ControlID (records match), ... other fields
31 | 56 ...
32 | 56 ...
33 | 56 ...
加入表:
ID, ControlID, ID (2), ControlID (2), ..., matchID (sum of ID keys)
31 | 56 | 32 | 56 ... 63
31 | 56 | 33 | 56 ... 64
32 | 56 | 31 | 56 ... 63
32 | 56 | 33 | 56 ... 65
33 | 56 | 31 | 56 ... 64
33 | 56 | 32 | 56 ... 65
我需要消除重复ID组合的行,因此匹配matchID。我只需要为每个matchID和ControlID组合使用一行。
所以我认为GROUP BY ControlID, matchID
会起作用。这是我的结果:
33 | 56 | 31 | 56 ... 64
33 | 56 | 32 | 56 ... 65
为什么这不包括以下行?
31 | 56 | 32 | 56 ... 63
还是这一排?
32 | 56 | 31 | 56 ... 63
应返回matchID为63的其中一行,对吧?我错过了什么?
答案 0 :(得分:0)
我刚刚添加了ID < ID (2)
的条件。这给出了必要的结果,但我仍然不明白为什么GROUP BY
不起作用。