-1
votes

Pourcentage SQL d'une colonne d'affichage dans deux colonnes

J'ai une seule colonne de mâle et de femme et j'ai calculé les pourcentages et les affichés en tant que tel, xxx

Comment calculer le% tel que les résultats sont affichés sur deux colonnes distinctes? (Microsoft SQL) tel que; xxx


1 commentaires

J'utilise Microsoft SQL, désolé j'ai oublié de mentionner


5 Réponses :


0
votes

Essayez l'agrégation conditionnelle à l'aide de cas lorsque l'expression xxx


6 commentaires

Merci! Cela fonctionne, mais sans avoir calculé les pourcentages, comment puis-je le calculer de telle sorte qu'il soit affiché dans le format souhaité


Je les aimerais sur deux colonnes distinctes, comme indiqué dans la dernière ligne


@RROIBOISTX, avez-vous exécuté-le - il vous montrera de la valeur dans deux colonnes


Oui, mais j'aimerais inclure mon calcul du% de S dans la solution, pas seulement des valeurs, cela ne fonctionne pas si je le branchez simplement là-bas, comment puis-je inclure également le calcul du% de la solution?


@ROIBOISTX, je l'ai modifié - vous pouvez vérifier maintenant


Je n'ai pas été très claire, excuses. Comment incluez-moi, le calcul du "ValueOfpercenter" dans la même requête? Pas la valeur calculée de% 'S, la requête pour les calculer, dans la même requête pour les afficher dans le format souhaité



0
votes

Agrégation

        select Gender,
        max(case when Gender='M' then value end),
        max(case when Gender='F' then value end) 
        from table group by Gender


1 commentaires

Merci, cela fonctionne pour l'affichage après le calcul, mais si je n'avais pas le% calculé, comment puis-je le calculer de telle sorte qu'il soit affiché comme souhaité?



0
votes
    SELECT *
    FROM (
        SELECT 
            Gender, %
      from tableName
    ) as s
    PIVOT
    (
        SUM(%)
        FOR Gender IN (M,F)
    )AS pvt
if any issue then tell me.

1 commentaires

Désolé, j'ai posé ma question à tort, je voudrais savoir «Comment calculer» le% tel que l'affichage est sur les colonnes



0
votes

Utilisez simplement l'agrégation conditionnelle:

select max(case when gender = 'M' then [%] end) as m,
       max(case when gender = 'F' then [%] end) as f
from t;


0 commentaires

0
votes

On dirait que la réponse de Fa06 est la bonne logique, mais vous avez des problèmes avec le calcul du pourcentage.

Voici quelque chose que je viens de créer pour vous apprendre à déterminer les pourcentages de SQL: P>

Select Cast(Count(select gender from tablename where gender = 'm') / 
Count(select gender from tablename where gender in ('m', 'f')) * 100 as decimal(5,2) 
 as 'm' from tablename 


0 commentaires