Vorrei aggregare due colonne in un "array" durante il raggruppamento.Postgres - aggregare due colonne in un elemento
assumere una tabella in questo modo:
friends_map:
=================================
user_id friend_id confirmed
=================================
1 2 true
1 3 false
2 1 true
2 3 true
1 4 false
desidero selezionare da questa tabella e gruppo da user_id e ricevere friend_id e confermato come valore concatenato separati da una virgola.
Attualmente ho questo:
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
che mi fa:
=================================
user_id friends confirmed
=================================
1 [2,3,4] [t, f, f]
Come posso ottenere:
=================================
user_id friends
=================================
1 [ [2,t], [3,f], [4,f] ]
In un certo senso , è quello che hai avuto quando hai iniziato. :) –
Ma quello che sto cercando è il raggruppamento sotto un nome di variabile. Questo è solo un esempio, fa davvero parte di una query di join più ampia, che contiene più tabelle e dati. – SoluableNonagon