Maison > Questions et réponses > le corps du texte
Je veux obtenir respectivement la somme du groupe A et du groupe B, puis diviser par la somme.
J'ai essayé d'utiliser ceci :
select name, sum(qt) from ntbl group by name
order_id | Nom | qt |
---|---|---|
1 | un | 12 |
2 | un | 20 |
3 | B | 33 |
4 | B | 45 |
Le résultat devrait être :
Nom | qt | dv |
---|---|---|
un | 32 | 0,29 |
B | 78 | 0,70 |
P粉5614384072023-12-29 13:20:15
Vous pouvez joindre une autre sous-requête qui additionne toutes les quantités
db<>violon ici p>
P粉0054177482023-12-29 09:01:28
Vous pouvez combiner des fonctions d'agrégation et des fonctions de fenêtre :
select name , sum(qt) as sum_qt , sum(qt) / sum(sum(qt)) over () * 100 as pct_qt from t group by name