Bonjour,

Je suis confronté à une problématique de "distribution statistique" que j'aimerais résoudre avec une requête SQL.

Je travaille sur des réseaux sociaux, et je souhaite compter le nombre d'amis de chacun de mes utilisateurs.

Ce que je sais faire :
- ramener le nombre d'amis pour chacun de mes utilisateurs
- ramener le nombre d'utilisateurs ayant 1, 2, ... amis
- ramener le nombre total d'utilisateurs ayant des amis

Ce que je souhaite faire :
- ramener le nombre d'amis (en X) et la répartition en % par rapport au total de mes utilisateurs (en Y) => exemple

Ma requête actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select nb_amis, count(util_id) as nb_util
from (
    select utilisateurs.util_id, count(distinct amis.ami_id) as nb_amis
    from utilisateurs inner join amis on utilisateurs.util_id = amis.util_id
    group by 1
) tab
group by 1;
Pouvez-vous m'aider ?
Merci par avance ! :o)