Tabelle Nachrichten (zB von Log-Meldungen von einem Benutzer zum anderen):SQL: Wie aggregieren mehrere Zeilen nach austauschbaren Spalten?
| id | from_user_id | to_user_id | message_body |
| 1 | 7 | 10 | ... |
| 2 | 3 | 1 | ... |
| 3 | 95 | 14 | ... |
| 4 | 95 | 3 | ... |
| 5 | 1 | 3 | ... |
| 6 | 1 | 3 | ... |
| 7 | 10 | 7 | ... |
| 8 | 3 | 95 | ... |
...
Ich möchte, wie viele Benutzer Gespräch in dieser Tabelle Ich muss COUNT (andere Aggregatfunktion oder ausführen). Eine Konversation ist definiert als eine Nachricht von A nach B ODER von B nach A. Beachten Sie, dass die Reihenfolge nicht als zählt die IDs sind miteinander austauschbar.
Also, das Ergebnis Ich mag würde bekommen, ist:
Tabelle GESPRäCHE:
| id | user_id_1 | user_id_2 | messages_count |
| 1 | 7 | 10 | 2 |
| 2 | 3 | 1 | 3 |
| 3 | 95 | 14 | 1 |
| 4 | 95 | 3 | 2 |
...
Wie würde ich in der Lage sein, dies zu tun, um eine SQL-Abfrage verwenden?