|
Pour afficher le pourcentage du total sous SQL, il est nécessaire de se reporter aux concepts que nous avons utilisés pour le rang / le cumul, en plus de la sous-requête. À la différence de ce que nous avons vu dans la section Sous-requête de SQL, nous allons utiliser ici la sous-requête en tant que partie de SELECT. Utilisons un exemple pour illustrer. Supposons que nous avons la table suivante :
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, a1.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.2581 |
| Stella |
20 |
0.1290 |
| Jeff |
20 |
0.1290 |
| Jennifer |
15 |
0.0968 |
| John |
10 |
0.0645 |
La sous-requête "SELECT SUM(Sales) FROM Total_Sales" calcule la somme. Nous pouvons alors diviser les valeurs individuelles par cette somme pour obtenir le pourcentage du total de chaque ligne.
SQL Pourcentage du total cumulatif >>
|
|