recherche

Maison  >  Questions et réponses  >  le corps du texte

新标题:Calculez la moyenne de chaque groupe par rapport à la somme totale

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粉852578075P粉852578075374 Il y a quelques jours381

répondre à tous(2)je répondrai

  • P粉561438407

    P粉5614384072023-12-29 13:20:15

    Vous pouvez joindre une autre sous-requête qui additionne toutes les quantités

    db<>violon ici

    répondre
    0
  • P粉005417748

    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

    répondre
    0
  • Annulerrépondre