Ich möchte zwei Spalten in einem "Array" bei der Gruppierung aggregieren.Postgres - Aggregate zwei Spalten in einem Element
Angenommen, eine Tabelle wie folgt:
friends_map:
=================================
user_id friend_id confirmed
=================================
1 2 true
1 3 false
2 1 true
2 3 true
1 4 false
ich aus dieser Tabelle und Gruppe von User_id auswählen möchte und friend_id erhalten und bestätigt als verkettete durch ein Komma getrennt Wert.
Zur Zeit habe ich dies:
SELECT user_id, array_agg(friend_id) as friends, array_agg(confirmed) as confirmed
FROM friend_map
WHERE user_id = 1
GROUP BY user_id
die mich bekommt:
=================================
user_id friends confirmed
=================================
1 [2,3,4] [t, f, f]
Wie kann ich:
=================================
user_id friends
=================================
1 [ [2,t], [3,f], [4,f] ]
In gewissem Sinne Das hattest du, als du angefangen hast. :) –
Aber was ich suche ist die Gruppierung unter einem Variablennamen. Dies ist nur ein Beispiel, es ist wirklich Teil einer größeren Join-Abfrage, die mehr Tabellen und Daten enthält. – SoluableNonagon