SQL Pourcentage du total cumulatif



SQL > SQL Avancé > Pourcentage du total cumulatif 

Pour afficher le pourcentage du total cumulatif sous SQL, nous utilisons la même idée que nous avons traitée dans la section Pourcentage du total. La différence est que nous souhaitons obtenir le pourcentage du total cumulatif, et non la contribution de pourcentage de chaque ligne individuelle. Utilisons l’exemple suivant pour illustrer :

Table Total_Sales
 Name   Sales 
 John   10 
 Jennifer   15 
 Stella   20 
 Sophia   40 
 Greg   50 
 Jeff   20 

il faut saisir :

SELECT a1.Name, a1.Sales, SUM(a2.Sales) / (SELECT SUM(Sales) FROM Total_Sales) Pct_To_Total
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales <= a2.Sales OR (a1.Sales = a2.Sales AND a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;

Résultat:

Name  Sales  Pct_To_Total
Greg  50  0.3226
Sophia  40  0.5806
Stella  20  0.7097
Jeff  20  0.8387
Jennifer  15  0.9355
John  10  1.0000

La sous-requête SELECT SUM(Sales) FROM Total_Sales calcule la somme. Il est alors possible de diviser le cumul, "SUM(a2.Sales)", par cette somme pour obtenir le pourcentage du total cumulatif pour chaque ligne.

Cette page a été mise à jour pour la dernière fois le 18/06/2022


Copyright © 2024   1keydata.com   Tous droits réservés