2016-10-28 4 views
-2

Ich habe eine Tabelle von Datensätzen mit eindeutigen IDs Kreuz zu sich selbst auf einer ControlID, die ähnliche Datensätze übereinstimmt.sqlite GROUP BY fehlt eine Zeile

Erste Tabelle:

ID (key), ControlID (records match), ... other fields 
31 | 56 ... 
32 | 56 ... 
33 | 56 ... 

Registriert am Tisch:

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 

Ich brauche die Zeilen zu eliminieren, die ID-Kombinationen zu vervielfältigen, damit die MatchID. Ich brauche nur eine Zeile für jede MatchID- und ControlID-Kombination. Also dachte ich GROUP BY ControlID, matchID würde funktionieren. Hier ist mein Ergebnis:

33 | 56 | 31 | 56 ... 64 
33 | 56 | 32 | 56 ... 65 

Warum enthält dies nicht die folgende Zeile?

31 | 56 | 32 | 56 ... 63 

Oder diese Zeile?

32 | 56 | 31 | 56 ... 63 

Eine der Zeilen mit einem MatchID von 63 sollte direkt zurückgegeben werden? Was vermisse ich?

+0

Bitte geben Sie die tatsächliche Abfrage an. –

Antwort

0

Ich habe gerade eine Bedingung hinzugefügt, dass ID < ID (2). Das gibt das notwendige Ergebnis, aber ich verstehe immer noch nicht, warum die GROUP BY nicht funktioniert.