Ich versuche, die Zeilen, in denen user_from
existiert als user_to
in anderen Zeile/s, die später erstellt wurden.Wählen Sie die erste Zeile für jede Kombination aus
Diese Abfrage gibt mir die Zeilen.
SELECT A
FROM db.table A
LEFT JOIN db.table B
ON A.user_to = B.user_from
AND A.user_from = B.user_to
AND A.createdAt < B.createdAt
WHERE B.user_to IS NOT NULL AND B.user_from IS NOT NULL;
Allerdings möchte ich für jede Kombination von user_to/user_from
nur die erste Reihe bekommen.
z. Wenn es einige Zeilen wie sind:
user_to = 1, user_from = 2
user_to = 2, user_from = 1
user_to = 2, user_from = 1
user_to = 1, user_from = 2
möchte ich nur die erste erstellt eine (wie createdAt
definiert) erhalten.
Ich habe versucht mit GROUP BY user_from
, aber dies schließt alle anderen Kombinationen mit jedem user_from
aus.
Bitte benutzen Sie 'DISTINCT' für die Spalte wählen Werte –