Je suis sur Microsoft SQL Server 2017.
J'ai ces résultats sur SQL Server appliquant une phrase de sélection simple: p> J'ai besoin d'obtenir le pourcentage de Résultats ponctuels, séparés par des colonnes de mois et d'année. La formule serait la somme des résultats totaux séparés par mois et par année, divisés par les résultats ponctuels multipliés * 100. p> Par exemple, le 20202020 serait: 5 Ponctualité / 6 résultats * 100 = 83.3% résultats ponctuels; Les autres autres sont des retards, ce que je ne suis pas intéressé. P> J'ai essayé avec le compte de compte quand mais je ne pouvais pas le faire fonctionner correctement. P> Par exemple, le résultat i besoin d'obtenir serait comme suit: p> merci pour votre aide. P> P>
3 Réponses :
Vous pouvez utiliser l'instruction suivante pour calculer le pourcentage à l'aide de résultat: p > compteur () code> et code>: CONCAT(
CONVERT(numeric(10, 2), COUNT(CASE WHEN Result = 'PUNCTUAL' THEN 1 END) * 100.0 / COUNT(*)),
'%') AS SuccessFormatted
Vous pouvez utiliser l'agrégation avec la commande de format pour obtenir le résultat souhaité: résultat: strong> p> Year Month Success
2019 1 0.00%
2019 5 0.00%
2020 2 100.00%
2020 3 83.33%
J'aime utiliser Si vous voulez un nombre compris entre 0 et 100, utilisez simplement avg () code> pour ceci: 100.0 code> plutôt que 1.0 code>. p> p>