Si mon sous-requête foo libère les lignes: -Postgres: compter les entrées de tableau uniques de sous-requête
ID, USERS
1 {23129}
2 {23142}
3 {23300,23300}
4 {23129,23300}
Comment puis-je obtenir un nombre d'utilisateurs uniques dans une requête en utilisant une fonction de fenêtre, tels que: -
SELECT ... FROM (<subquery>) FOO
J'ai essayé: -
array_length(array_agg(array_length(array(SELECT Distinct unnest(users))),1)) over(), 1)
Mais obtenir l'erreur que les dimensions du tableau ne sont pas les mêmes
NOTE BIEN: Je ne peux pas modifier la sous-requête pour résoudre ce problème.
je peux obtenir les identifiants dans un tableau comme suit: -
string_to_array(string_agg(array_to_string(user_ids, ','), ',') over(),',')
Mais ils ne sont pas distincts.
Merci pour les réponses, le problème est que la sous-requête ne peut pas être modifiée. – CitizenFish
'SELECT nombre (BAR distincte) FROM() FOO, unnest (FOO.USERS) AS BAR' – Abelisto